My SQL的內連線,外鏈結查詢

2021-07-05 13:47:09 字數 1276 閱讀 1025

1、內連線:只連線匹配的行。

2、左外連線:包含左邊表的全部行,以及右邊表中所有匹配的行,無論右邊的表有沒有和左邊匹配的行,左邊的所有行都必須要顯示。

3、右外連線:包含右邊表的全部行,以及左邊表中所有匹配的行,無論左邊的表有沒有和右邊匹配的行,右邊的所有

行都必須要顯示。

例:表t_book的圖書類別編號booktypeid對應著表t_booktype的id

(1)內連線sql語句

select t_book.id,t_book.bookname,t_booktype.booktypename   

from t_book

inner join t_booktype

on t_book.booktypeid=t_booktype.id

查詢結果:

可以看到只有表t_book的booktypeid和表t_booktype的id相同的行被查詢出來,而其他未匹配的行並沒有被查詢出來。

(2)左外連線sql語句

select t_book.id,t_book.bookname,t_booktype.booktypename 

from t_book

left join t_booktype

on t_book.booktypeid=t_booktype.id

查詢結果:

左邊表無論有沒有匹配項都被查詢出來。

(3)右外連線sql語句

select t_book.id,t_book.bookname,t_booktype.booktypename 

from t_book

right join t_booktype

on t_book.booktypeid=t_booktype.id

查詢結果:

右邊表無論有沒有匹配項都被查詢出來。

mysql 內連線和外連線查詢

一 內連線查詢 笛卡兒積 內聯接查詢inner join,mysql可以簡寫為join 二 外連線查詢 左外聯接查詢left outer join,mysql可以簡寫為left join 右外聯接查詢right outer join,mysql可以簡寫為right join 舉個栗子 建立兩張表t1...

mysql 內連線 外鏈結以及全連線的實現

create table 學生 id int 11 default null,student name varchar 10 default null,teacher id varchar 10 default null engine innodb default charset utf8 建立表 ...

Mysql連表查詢(內連線 外連線)

建立兩張 並分別插入資料 create table ifnot exists left table id int auto increment,age int,name varchar 20 primary key id engine innodb default charset utf8 auto...