SQL的四種連線查詢

2021-10-06 18:10:15 字數 1827 閱讀 7937

一、內連線:inner join 或者 join 交集

二、外連線:

1、左連線 left join 或者 left outer join

2、右連線 right join 或者 right outer join

3、完全外連線 full join 或者 full outer join 並集

4、舉例

– 在新資料庫建立兩個表:

create database testjoin;

use testjoin;

– person表

id,name,

cardid

create table person(

id int,

name varchar(20),

cardid int

);insert into person values(1,『張三』,1);

insert into person values(2,『李四』,3);

insert into person values(3,『王五』,6);

– card表

id,name

create table card(

id int,

name varchar(20)

);insert into card values(1,『飯卡』);

insert into card values(2,『建行卡』);

insert into card values(3,『農行卡』);

insert into card values(4,『工商卡』);

insert into card values(5,『郵政卡』);

– 表中並沒有建立外來鍵

– 1、inner join 查詢(內連線)

select * from person inner join card on person.cardid=card.id;

– 內連查詢,其實就是兩張表中的資料,通過某個字段相等,查詢出相關記錄資料。

– on 表示條件 內連線會顯示所有能夠連線上的資料n

– 2、left join(左外連線)

select * from person left join card on person.cardid=card.id;

– 左外鏈結會把座標表裡所有的資料取出來,而右邊表中的資料,如果沒有相等的,就會顯示出來

– 如果沒有,就會補 null

– 3、right join(右外連線)

select * from person right join card on person.cardid=card.id;

select * from person right outer join card on person.cardid=card.id;

– 4、full join(全外連線)

– mysql不支援 full join

select * from person left join card on person.cardid=card.id

union

select * from person right join card on person.cardid=card.id;

————————————————

oracle四種連線查詢

內連線 inner join 連線兩個表只要資料存在不匹配就都不顯示。外連線 outer join 連線兩個表存在空匹配的記錄將都顯示處理。左連線 left join 連線兩個表以左表為顯示表,顯示左表匹配的null欄位。右連線 right join 連線兩個表以右表為顯示表,顯示右表匹配的null...

SQL的四種連線(內連線,外連線)

一,內連線 inner join 內連線 inner join 分顯式的和隱式的,返回連線表中符合連線條件和查詢條件的資料行。所謂的連線表就是資料庫在做查詢形成的中間表 1.隱式的內連線 沒有inner join,形成的中間表為兩個表的笛卡爾積。select o.id,o.order number,...

mysql的四種連線方式 資料庫的四種連線方式

a表 b表 a.id同parent id 存在關係 1 內連線 相當於select a.b.from a,b where a.id b.id select a.b.from a inner join b on a.id b.parent id 結果是 2 左連線 左表的挨個資訊去查詢,查不到則將右邊...