Mysql內外連線

2022-05-18 22:21:54 字數 969 閱讀 7658

1.自然連線(natural join)

自然連線將表中具有相同名稱的列自動進行匹配,自然連線不必指定任何同等連線條件也不能認為指定哪些列需要被匹配,自然連線得到的結果表中,兩表中名稱相同的列只出現一次。

select * from employee natural join department;

2.內連線(inner join):產生的結果是a和b的交集(相同列裡面的相同值)

內連線查詢能將左表和右表中能關聯起來的資料連線後返回,返回的結果就是兩個表中所有相匹配的資料。

select * from tablea as a inner join tableb b on a.pk = b.pk;

select * from tablea as a inner join tableb b on a.pk > b.pk;

3.外連線(outer join)

內連線是要顯示兩張表的記憶體,而外連線不要求如此,外連線可以依據連線表保留左表,右表或全部表的行為而分為左外連線右外連線和全連線。

select * from tablea as a left(right/full) join tableb as b on a.pa = b.pk;

full join:產生的結果是a和b的並集(如果沒有相同的值會用null作為值)

left join:產生表b的完全集,而a表中匹配的則有值(沒有匹配的則以null值取代)

select column_name(s) from table_name1 left join table_name2 on table_name1.column_name=table_name2.column_name

right join:產生表a的完全集,而b表中匹配的則有值(沒有匹配的則以null值取代)

4.交叉連線(cross join)

又稱笛卡爾連線,交叉連線返回兩個集合的笛卡爾積。

select * from tablea cross join tab

Mysql 內外連線,事物,索引

表的連線分為內連和外連 內連線 內連線實際上就是利用where語句對倆個表形成的笛卡兒積進行篩選,我們前面學的所有連線都是內鏈結 語法 select 欄位名 from 表1 inner join 表2 on 連線條件 and 其他條件 例 顯示smith的名字和部門名稱 外連線 外連線分為左外連線和...

MySQL筆記 復合查詢 內外連線

集合查詢 子查詢 單行子查詢 select from emp where deptno select deptno from emp where ename smith 多行子查詢 in 查詢和10號部門的工作相同的雇員的名字,崗位,工資,部門號,但是不包含10自己的 select ename,jo...

mysql學習之內 外連線語句

名詞 內連線 自然連線,只有兩個相匹配的行才能在結果集中顯示 外連線 左外連線 右連線 全外連線 內連線,只顯示滿足where後條件的列 select a.b.from a inner join b on a.id b.parent id 左外連線,select a.b.from a left jo...