SQL查詢表的內聯結

2021-09-25 08:23:08 字數 1586 閱讀 8113

資料庫中我們常用的查詢方法是聯表查詢,這種查詢方法可以實現一次查詢出多張表的資料,只要把主表的資料查詢出來,副表的資料就一起顯示出來了,是不是很方便呢。不過前提是,要先把表聯結起來,表與表之間是通過關係列關聯起來的。有關係好辦事,生活中是這樣,資料庫也是如此,都要靠關鍵節點。

內聯結(inner join)

作用是選取出同時存在於兩張表中的資料,選取後按照交叉聯結的方式合併展示出來。比如說,我現在有兩張表,學生資訊表與學生成績表,想要查詢出某個學生的資訊和成績,該如何用內聯結進行查詢?

執行的語句:

select學生資訊表.學號

,學生資訊表.姓名

,學生成績表.學號

,學生成績表.課程

,學生成績表.成績

--選擇要拼接的列,為了方便區別這個列是哪張表的,需在列名前邊加表名

from學生資訊表

innerjoin學生成績表

--選擇拼接的表

on學生資訊表.學號

=學生成績表.學號

; --

選擇以哪個列作為拼接條件

上面兩張表的名稱太長,不管在書寫還是在閱讀上都不方便,那麼就給它們起乙個臨時名稱,以方便書寫,這裡可以用關鍵字as來實現,寫法如下:

select

a.學號,a.姓名,

b.學號,

b.課程,

b.

成績--

選擇要拼接的列,為了方便區別這個列是哪張表的,需在列名前邊加表名

from學生資訊表

asainnerjoin

學生成績表

--選擇拼接的表

on學生資訊表.學號

=學生成績表.學號

; --

選擇以哪個列作為拼接條件

執行的結果:

說明:內聯結的sql 語句執行順序如下:

- 將兩個表裡面【學號】相同的列的資料都取出來。

- 將兩個表裡面取出的資料合併,使用交叉聯結的方式合併。

- 將乙個表中的所有行與另乙個表中所有合併在一起。

SQL使用子查詢 聯結表 建立高階聯結

利用子查詢進行過濾select cust name,cust contact from customers where cust id in select cust id from orders where order num in select order num from orderitems ...

sql多表聯結 三張表聯結 查詢

今天看了一道sql的題,這個查詢需要聯結三張表,具體的 內容參考 參考鏈結 很自然的想到了內聯結,但是之前做的大部分都是兩張表的內連線,這次是三張表,在網上搜也都是講兩張表的內連線,這裡總結一下 selecta.sname,b cname,c degree from student ainner j...

sql中的聯結查詢

資料庫中有兩種聯接 內聯接,外聯接。一 其中內聯接就是一般的相等聯接。如 以下兩句相同 select from a inner join b on a.id b.id select from a,b where a.id b.id 二 外連線 對於外連線,可以分為左外連,右外連,全外連。詳細介紹如下...