SQL連線查詢

2022-09-07 21:54:19 字數 1984 閱讀 3305

select s.id, s.name, s.class_id, c.name class_name, s.gender, s.score

from students s

inner join classes c

on s.class_id = c.id;

注意inner join查詢的寫法是:

先確定主表,仍然使用from 《表1>的語法;

再確定需要連線的表,使用inner join 《表2>的語法;

然後確定連線條件,使用on 《條件...>,這裡的條件是s.class_id = c.id,表示students表的class_id列與classes表的id列相同的行需要連線;

可選:加上where子句、order by等子句。

inner join只返回同時存在於兩張表的行資料

select s.id, s.name, s.class_id, c.name class_name, s.gender, s.score

from students s

left outer join classes c

on s.class_id = c.id;

right outer join返回右表都存在的行。如果某一行僅在右表存在,那麼結果集就會以null填充剩下的字段。

select s.id, s.name, s.class_id, c.name class_name, s.gender, s.score

from students s

right outer join classes c

on s.class_id = c.id;

left outer join則返回左表都存在的行。如果某一行僅在左表存在,那麼結果集就會以null填充剩下的字段。

full outer join:取並集

select s.id, s.name, s.class_id, c.name class_name, s.gender, s.score

from students s

full outer join classes c

on s.class_id = c.id;

它會把兩張表的所有記錄全部選擇出來,並且,自動把對方不存在的列填充為null

a inner join b 取交集。

a left join b 取 a 全部,b 沒有對應的值為 null。

a right join b 取 b 全部 a 沒有對應的值為 null。

a full outer join b 取並集,彼此沒有對應的值為 null。

對應條件在on後面填寫。

SQL 連線查詢

連線查詢是指乙個查詢同時涉及到兩個及以上的表。包括 等值連線,自然連線,非等值連線,自身連線,外連線,復合查詢.等.color red size large 1.等值連線 於非等值連線 size color 查詢每個學生及選課的情況 select student.sc.from student,sc...

sql連線查詢

sql連線查詢的連線查詢分為交叉連線 內連線 外連線。以下面兩張表為例演示連線查詢。a表 b表 分為左連線 右連線 完全外連線 左連線 left join 或left outer join select from a left outer join b on a.aid b.bid返回結果 返回a表...

SQL連線查詢

筆記區 多表連線查詢 1,等值連線 select from table1,table2 where table1.t1no table2.t2no 2,非等值 笛卡爾積 特點 查詢個數為乘積 作用 模擬大量資料 交叉連線 自連線內連線 把符合條件的查出來 以上都是內查詢 外連線 可以把不存在員工的部...