Mysql基礎入門(四)Join連線查詢

2021-10-08 22:53:26 字數 2563 閱讀 3242

3. 自然連線

4. 交叉連線

5. 使用表別名

join連線查詢就是將多個表聯合起來查詢,連線查詢方式有內連線、外連線、自然連線、交叉連線。連線查詢使得可以同時檢視多張表中資料。

select 列名 from 表1

inner

join 表2

on 表1.欄位 = 表2.欄位;

-- 內連線

select

*from student

inner

join class on student.cid = class.cid;

結果保留cid相同的記錄

select 字段列表 from 左表 

left

join 右表 on 左表.欄位 = 右表.欄位;

select 字段列表 from 左表 

right

join 右表 on 左表.欄位 = 右表.欄位;

-- 左連線

select

*from student

left

join class on student.cid = class.cid;

結果保留左表的記錄

-- 右連線

select

*from student

left

join class on student.cid = class.cid;

結果保留右表的記錄

自動匹配連線條件,系統以欄位名字作為匹配模式(同名字段就作為條件,多個同名字段就都作為條件)

自然內連線:類似內連線,但不提供連線條件。

自然外連線:類似外連線,但不提供連線條件。

自然內連線

select 字段列表 from 表名 

natural

join 表名;

自然外連線

select 字段列表 from 表名 

natural

left\right

join 表名;

自然內連線

語法:

select 字段列表 from 表名 cross join 表名;

select 字段列表 from 表名 ,表名;

將每一條記錄與另外乙個表的每一條記錄連線

在多個表中,為了區分每個表,以及簡便使用,可以使用表別名。

select

*from student

inner

join class on student.cid = class.cid;

-- 原本結果

對錶起別名,簡化

select id,name,gender,c.cid,cname 

from student as s

inner

join class as c

on s.cid = c.cid;

-- 使用表別名

Mysql面試(四) join語句相關

驅動表,被驅動表 我們將兩張表進行join語句關聯時,例如,假設有t1表 id int primarykey id a int key a b int t2表 id int primarykey id a int key a b int t1和t2都有主鍵索引id和普通索引a,t1有100條資料,t...

Python基礎入門(四)

函式即變數高階函式 巢狀函式 裝飾器 裝飾器 定義 本質就是函式,裝飾其他函式 就是為其他函式新增附加功能 1.不能修改被裝飾函式的源 2.不能修改被裝飾函式的呼叫方式 高階函式 巢狀函式 把乙個函式名當做實參傳給另外乙個函式 返回值中包含函式名 不修改函式的呼叫方式 沒有修改被裝飾函式的源 但是改...

python基礎入門(四)

呼叫上一級非全域性變數用 nonlocal 函式的作用域只跟函式宣告時定義的作用域有關,跟函式的呼叫位置無任何關係 name 111 deffoo name 222 defbar name 333 print name deftt print name return tt return bar r1...