連接查詢:
以一個共同的字段,求兩張表當中符合條件的并集。 通過共同字段把這兩張表連接起來。
常用的連接:
內連接:根據表中的共同字段進行匹配
外連接分兩種:左外連接、右外鏈接。
1內連接 語法:
select 字段 from 表1 inner join 表2 on 表1.字段=表2.字段
2 內連接:根據表中的共同字段進行匹配
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');
創建年級表: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 外連接:現實某數據表的全部記錄和另外表中符合連接條件的記錄。
左連接: select 字段 from a表 left join b表 on 連接條件
a表是主表,都顯示。
b表從表
主表內容全都有,從表內沒有的現實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顯示
右連接,可以多表連接
注意:有連接多表連接 是 前兩個表連接后 成為從表 ,在和第三個表連接。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。