SQL之 連線查詢

2021-07-24 16:49:02 字數 1674 閱讀 1844

連線查詢:顧名思義是同時涉及多個表的查詢

連線條件或連線謂詞:用來連線兩個表的條件

一般格式:

[《表名1>.]《列名1> 《比較運算子》 [《表名2>.]《列名2>

[《表名1>.]《列名1> between [《表名2>.]《列名2> and [《表名2>.]《列名3>

連線字段:連線謂詞中的列名稱

連線條件中的各連線字段型別必須是可比的,但名字不必是相同的

共有四種連線:

1等值與非等值連線查詢

2自身連線

3外連線

4復合條件連線

等值連線:連線運算子為=

[例1] 查詢每個學生及其選修課程的情況

select student.,sc.

from student,sc

where student.sno = sc.sno;

查詢結果:

自然連線:

[例2] 對[例1]用自然連線完成。

select student.sno,sname,s***,sage,sdept,cno,grade

from student,sc

where student.sno = sc.sno;

自身連線:乙個表與其自己進行連線

需要給表起別名以示區別

由於所有屬性名都是同名屬性,因此必須使用別名字首

[例35]查詢每一門課的間接先修課(即先修課的先修課)

外連線與普通連線的區別

普通連線操作只輸出滿足連線條件的元組

外連線操作以指定表為連線主體,將主體表中不滿足連線條件的元組一併輸出,也就是包括值為null的元組

左外連線

列出左邊關係(如本例student)中所有的元組

右外連線

列出右邊關係中所有的元組

示例對錶進行如下操作:

復合條件連線:where子句中含多個連線條件

[示例]查詢選修2號課程且成績在90分以上的所有學生

select student.sno, sname

from student, sc

where student.sno = sc.sno and

sc.cno= 『2』 and sc.grade > 90;

SQl之連線查詢

連線查詢 將多張表連在一起進行查詢 會導致記錄數行和字段數列發生改變 在關係型資料庫的設計的過程中,實體 表 與實體之間是存在很多聯絡的。在關係型資料庫表的設計過程中,遵循著關係來設計 一對一,一對多,多對一,通常在實際的操作中,需要利用這層關係來保證資料的完整性。連線查詢乙個有以下幾類 交叉連線 ...

SQL語句基礎之連線查詢

介紹sql連線多表進行查詢,包括對inner join left join right join等的基礎使用 例項用以下兩張表進行演示 student表結構如下圖 teacher表結果如下圖 兩張表以id為主外來鍵關係進行關聯 作用 inner join 關鍵字在表中存在至少乙個匹配時返回行,使用i...

sql之limite查詢 join連線

limite示例1 列印grade排名前三的學生資訊 select from student order by grade limite 3 示例 列印grade倒數第三的學生資訊 select from student order by grade desc limite 2,1 其中limite...