日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

常見連接類型

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

分類

本文中使用數(shù)據(jù)庫環(huán)境:MySQL 5.7

SQL joins 經(jīng)典圖

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

準(zhǔn)備SQL語句

CREATE TABLE `t_emp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`deptId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`) ,
KEY `fk_dept_id`(`deptId`)
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8;

CREATE TABLE `t_dept` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`deptName` varchar(30) DEFAULT NULL,
`locAdd` varchar(40) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8;


INSERT INTO t_dept(deptName,locAdd) VALUES('研發(fā)部', 21);
INSERT INTO t_dept(deptName,locAdd) VALUES('人力資源部', 22);
INSERT INTO t_dept(deptName,locAdd) VALUES('市場部', 23);
INSERT INTO t_dept(deptName,locAdd) VALUES('后勤部', 24);
INSERT INTO t_dept(deptName,locAdd) VALUES('總經(jīng)辦', 25);

INSERT INTO t_emp(NAME, deptId) VALUES('張三', 1);
INSERT INTO t_emp(NAME, deptId) VALUES('李四', 1);
INSERT INTO t_emp(NAME, deptId) VALUES('王五', 1);
INSERT INTO t_emp(NAME, deptId) VALUES('趙六', 2);
INSERT INTO t_emp(NAME, deptId) VALUES('劉一', 2);
INSERT INTO t_emp(NAME, deptId) VALUES('錢七', 3);
INSERT INTO t_emp(NAME, deptId) VALUES('關(guān)八', 4);
INSERT INTO t_emp(NAME, deptId) VALUES('孫九', 51);

 

 交叉連接(cross join)

交叉聯(lián)接也稱作笛卡爾積。交叉連接返回左表中的所有行,左表中的每一行與右表中的所有行組合。

實(shí)現(xiàn)方式:

(1)隱式交叉連接(沒有CROSS JOIN)

select * from t_dept td ,t_emp te ;

(2)顯式交叉連接

select * from t_dept td cross join t_emp te ;

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

笛卡爾積結(jié)果

內(nèi)連接 (inner join)

內(nèi)連接是最常用的連接操作。從數(shù)學(xué)的角度講就是求兩個表的交集;從笛卡爾積的角度講就是從笛卡爾積中挑出ON子句條件成立的記錄。 一般內(nèi)連接on條件都使用=,所以讓大家覺得內(nèi)連接就是等值連接。

實(shí)現(xiàn)方式:

select * from t_dept td inner join t_emp te on td .id > te.id ;

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

備注:只是說明一個例子,可能沒有實(shí)際業(yè)務(wù)意義。

1.1.1.6. 等值連接 (equijoin)

等值連接是關(guān)系運(yùn)算-連接運(yùn)算的一種常用的連接方式。是條件連接(或稱θ連接)在連接運(yùn)算符為“=”號時,即θ=0時的一個特例;等值連接是一種特殊內(nèi)連接。

常見的實(shí)現(xiàn)方式:

select * from t_dept td inner join t_emp te on td .id = te.deptId ;

select * from t_dept td, t_emp te where td .id = te.deptId ;

select * from t_dept td join t_emp te on td .id = te.deptId ;

結(jié)果如下:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

 自然連接(natural join)

自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組(字段),并且在結(jié)果中把重復(fù)的屬性列去掉。

實(shí)現(xiàn)方式:

select * from t_dept td natural join t_emp te

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

左連接(left join)

左連接的含義就是求兩個表左表和右表的交集外加左表剩下的數(shù)據(jù)。依舊從笛卡爾積的角度講,就是先從笛卡爾積中挑出ON子句條件成立的記錄,然后加上左表中剩余的記錄。

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

實(shí)現(xiàn)方式:

select * from t_dept td left join t_emp te on td .id = te.deptId ;

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

右連接

右連接RIGHT JOIN就是求兩個表左和右表的交集外加右表B剩下的數(shù)據(jù)。再次從笛卡爾積的角度描述,右連接就是從笛卡爾積中挑出ON子句條件成立的記錄,然后加上右表中剩余的記錄。

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

實(shí)現(xiàn)方式:

select * from t_dept td right join t_emp te on td .id = te.deptId ;

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

 全連接

全外連接就是求兩個表A和B集合的并集。從笛卡爾積的角度講就是從笛卡爾積中挑出ON子句條件成立的記錄,然后加上左表中剩余的記錄,最后加上右表中剩余的記錄。另外MySQL不支持OUTER JOIN,但是我們可以對左連接和右連接的結(jié)果做 UNION 操作來實(shí)現(xiàn)。

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

實(shí)現(xiàn)方式:

select * from t_dept td left join t_emp te on td .id = te.deptId
union
select * from t_dept td right join t_emp te on td .id = te.deptId ;

結(jié)果:

數(shù)據(jù)庫連接總結(jié)(內(nèi)連接,外連接,全連接)

 

分享到:
標(biāo)簽:數(shù)據(jù)庫
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定