SQL語句多表連接查詢語法

 

 

總結:內連接就是兩個表的交集 ,左外連接就是左邊表加兩表交集 ,右外連接就是右邊表加兩表交集

 

 

一、外連接

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;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章