一、內連線: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 左連線 左表的挨個資訊去查詢,查不到則將右邊...