SQL語句的各種連線查詢

2021-06-22 23:09:10 字數 2026 閱讀 2151

連線查詢,等值和非等值連線

若在等值連線中把重複的屬性列去掉,則為自然連線

自身連線,查詢每一門課的間接先修課

外連線,在通常的連線操作中,只有符合條件的元祖才能作為結果輸出。如上上表中沒有200215125學生的資訊,原因是他沒有選課。但有時我們需要以某個表為主題列出所有元祖的情況,比如說以student表為主體列出所有的學生選課情況,這時候就需要用外連線。

左外連線,也就是說以左邊表為主體,不符合條件的情況右邊表的屬性上填空值,如:

右外連線,如果右表的某個元祖在左表中找不到匹配值,左表填null。比如說我們檢視所有課程被選的情況,其實左外很合理,用右外只是為了演示:

全部外連線,full join,如果右表的某個元祖在左表中找不到匹配值,左表填null,如果左表的某個元祖在左表中找不到匹配值,右表填null。

select student.sno,sname,s***,sage,sdept,cno,grade from student full join s on (student.sno=s.sno);
上語句不執行,原來mysql不支援full join,但是我們可以通過下面的方法來實現,這個叫做集合查詢

還有乙個比較不一樣的查詢叫做子查詢,帶有exists謂詞的子查詢不返回任何資料,只產生邏輯真值或邏輯假值。比如:查詢所有選修了1號課程的學生姓名。

select sname from student where

exists

(select * from sc where sno=student.sno and cno='1');

sql的各種連線查詢

以下均以oracle scott賬號自帶的資料庫為例 方括號裡的東西表示有和沒有效果是一樣的 表內查詢 自連線 查詢所有經理所對應的雇員 sql 86 select manager.ename as manager,worker.ename as worker from emp manager,em...

inner join 各種連線 SQL語句

sql inner join關鍵字表示在表中存在至少乙個匹配時,inner join 關鍵字返回行。sql inner join關鍵字表示在表中存在至少乙個匹配時,inner join 關鍵字返回行。1 連線兩個資料表的用法 from member inner join membersort on ...

sql語句的各種模糊查詢語句

一般模糊語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1 表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name lik...