總結:內連接就是兩個表的交集 ,左外連接就是左邊表加兩表交集 ,右外連接就是右邊表加兩表交集
一、外連接
1.左連接 left join 或 left outer join
SQL語句:select * from student left join score on student.Num=score.Stu_id;
2.右連接 right join 或 right outer join
SQL語句:select * from student right join score on student.Num=score.Stu_id;
3.完全外連接 full join 或 full outer join
SQL語句:select * from student full join score on student.Num=score.Stu_id;
通過上面這三種方法就可以把不同的表連接到一起,變成一張大表,之後的查詢操作就簡單一些了。
交叉連接查詢,這種查詢方式基本不會使用,原因就是這種查詢方式得到的是兩個表的乘積(笛卡兒集)
語法就是select * from a,b;則儘量不使用此語句,產生的結果過於繁瑣。
內連接查詢,可以有效的去除笛卡爾集現象
內連接查詢分爲兩類:
二、內連接
join 或 inner join
SQL語句:select * from student inner join score on student.Num=score.Stu_id;
此時的語句就相當於:select * from student,score where student.ID=course.ID;
內連接查詢分爲兩類:
隱式內連接
select * from A,B where 條件 隱式連接使用別名:
select * from A 別名1,B 別名2 where 別名1.xx=別名2.xx;
顯示內連接
select * from A inner join B on 條件 (inner可以省略) 顯示連接使用別名:
select * from A 別名1 inner join B 別名2 on 別名1.xx=別名2.xx
舉例:
三、交叉連接
cross join,沒有where指定查詢條件的子句的交叉聯接將產生兩表的笛卡爾積。
SQL語句:select * from student cross join score;