mysql各種join連線查詢

2022-05-05 15:12:13 字數 1722 閱讀 7814

注意點: 在join操作中的 on ... where ...  應該放哪些條件;目前理解 on 後放2表關聯部分;where後放最終資料篩選部分;

1.下圖為各種join操作的圖表解釋及sql語句

2.自測

建表資料結果如下:

可以根據圖表中的sql 語句進行相關join查詢測試;

3.簡單測試2個結果:

測試第乙個join 語句如下:

select student.student_id,sc.score from student left join sc on student.student_id=sc.id
結果為:

測試第二個join 語句如下: 

select student.student_id,sc.score from student left join sc on student.student_id=sc.id where sc.id is null
結果為:

;解析:在 第乙個語句的基礎上加上 where sc.id is null ;只保留sc.id 為 nul的資料,而這個資料 只有 student 和 sc 非交集部分才有;

重點為  mysql 沒有 full outer join 或者 full join;導致 要想完成 圖中的 6,7部分,必須使用 圖中1和4 或 1和5 的 union 來實現;

測試第6個join 語句如下:

select student.student_id,sc.score from student left join sc on student.student_id=sc.id

union

select student.student_id,sc.score

from student right join sc on student.student_id=sc.id

結果為:

測試第7個join 語句如下:

select student.student_id,sc.score from student left join sc on student.student_id=sc.id where sc.id is

null

union

select student.student_id,sc.score

from student right join sc on student.student_id=sc.id where student.student_id is null

結果為:

mysql的join連線查詢

join 聯合查詢。查詢的結果左右連線。連成一張大表。場景 一張表裡面的資訊不能滿足我們的條件這時候可以把有關聯的表連線起來。方便查詢。別名 分為表別名和列別名。因為有些資料表的表名很長並且會用很多次所以我們可以給它起乙個簡單的別名,簡便而且 也少。列別名主要是有相同欄位時可以加以區分。例如需要從兩...

Join 連線查詢

在大多數實際開發情況了,我們需要同時和多個表打交道,多表查詢是資料庫中使用頻率最高和效率攸關的操作了!多表查詢主要有兩種方案 這裡主要介紹一下連線查詢!連線查詢,主要使用join關鍵字,建立多個表之間的聯絡。連線查詢可以分為,內連線和外連線,同時外連線又分為左連線和右連線。下面列出了您可以使用的 j...

sql的各種join連線

1 select from tablea inner join tableb 2 on tablea.name tableb.name 3id name id name 4 51 pirate 2 pirate 63 ninja 4 ninja78 9inner join 10產生的結果集中,是a和...