表連線查詢

2021-09-02 19:51:09 字數 1019 閱讀 3106

內連線

inner join

explain 

select

count(*) from base base

inner

join a a on base.id = a.a_id

inner

join b b on base.id = b.b_id

結果等同於

explain

select count(*) from

base base

,a a

,b b

where base.id = a.project_id and base.id = b.b_id

需要滿足每乙個條件,資料量最小

左連線

left join

explain 

select

count(*) from base base

left

join a a on base.id = a.a_id

left

join b b on base.id = b.b_id

以左邊的表為主表進行資料組裝,資料值跟

select count(*) from      base base
相等

右連線

right join

explain 

select

count(*) from base base

right

join a a on base.id = a.a_id

right

join b b on base.id = b.b_id

以右邊的表為主表進行資料組裝

表連線查詢

1.1 基本格式select fieldname from tbname1 連線符 tbname2 on 條件1.2 笛卡爾乘積 避免 笛卡爾乘積,沒有約束條件,資料庫匹配發生相乘關係,結果也不是預期結果 無意義結果 select employee id,first name from t empl...

多表查詢(表連線)

insert into emp empno,ename,job values 8888,張三 clerk 1 內連線 等值連線 之前使用的都是等值連線 select e.empno,e.ename,e.job,d.deptno,d.dname,d.loc from emp e,dept d wher...

sql 表連線查詢

自連線查詢 要求查詢學生表中和吳剛同乙個 地的學生的所有訊息 select t1.from student1 t1,student1 t2 where t1.origin t2.origin and t2.name 吳剛 兩表間不等值連線查詢 select st.name st.birthday n...