您好,登錄后才能下訂單哦!
連接查詢:
以一個共同的字段,求兩張表當中符合條件的并集。 通過共同字段把這兩張表連接起來。
常用的連接:
內(nèi)連接:根據(jù)表中的共同字段進行匹配
外連接分兩種:左外連接、右外鏈接。
1內(nèi)連接 語法:
select 字段 from 表1 inner join 表2 on 表1.字段=表2.字段
2 內(nèi)連接:根據(jù)表中的共同字段進行匹配
create table student(
sid int(4) primary key auto_increment,
name varchar(50)
);
mysql> insert into student values(1,'張三'),(2,'mk'),(3,'jack'),(4,'tom');
創(chuàng)建年級表:grade
create table grade(
id int(4) primary key auto_increment,
score varchar(20),
sid int(4)
);
mysql> insert into grade (score,sid) values ('1231',3),('1231',4),('1231',5),('1231',6);
查詢有的成績的人的信息.
mysql> select student.*,grade.* from student,grade where student.sid=grade.sid;
或:
或:
mysql> select student.*,grade.* from student inner join grade on student.sid=grade.sid;
或:
mysql> select student.*,grade.* from student join grade on student.sid=grade.sid;
使用表別名,簡寫SQL語句
mysql> select s.*,g.* from student as s inner join grade as g on s.sid=g.sid;
3 外連接:現(xiàn)實某數(shù)據(jù)表的全部記錄和另外表中符合連接條件的記錄。
左連接: select 字段 from a表 left join b表 on 連接條件
a表是主表,都顯示。
b表從表
主表內(nèi)容全都有,從表內(nèi)沒有的現(xiàn)實null。
mysql> select * from student as s left join grade as g on s.sid=g.sid;
右連接:
select 字段 from a表 right join b表 on 條件
a表是從表,都顯示。
b表主表
select * from student as s right join grade as g on s.sid=g.sid;
grade表為主表,全部記錄顯示出來,student為從表。不匹配的地方以NULL顯示
右連接,可以多表連接
注意:有連接多表連接 是 前兩個表連接后 成為從表 ,在和第三個表連接。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。