本文主要給大家介紹MySQL表關(guān)聯(lián)的常用方式有哪幾種,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL表關(guān)聯(lián)的常用方式有哪幾種吧。
成都創(chuàng)新互聯(lián)專注于平遠(yuǎn)企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。平遠(yuǎn)網(wǎng)站建設(shè)公司,為平遠(yuǎn)等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
建表及插入數(shù)據(jù),
CREATE TABLE school (
sch_id int(11) NOT NULL AUTO_INCREMENT,
sch_name varchar(50) NOT NULL,
sch_addr varchar(100) DEFAULT NULL,
PRIMARY KEY (sch_id)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
CREATE TABLE student (
st_id int(11) NOT NULL AUTO_INCREMENT,
st_name varchar(20) NOT NULL,
age smallint(6) DEFAULT NULL,
hight int(5) DEFAULT NULL,
sch_id int(11) DEFAULT NULL,
PRIMARY KEY (st_id),
KEY sch_id (sch_id)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ;
INSERT INTO school VALUES (1,'南開大學(xué)','南開'),(2,'中央財經(jīng)大學(xué)','北京'),(3,'香港理工大學(xué)','香港'),(4,'西安交通大學(xué)','西安'),(5,'悉尼大學(xué)','悉尼'),(6,'曼徹斯特大學(xué)','曼徹斯特'),(8,'延安抗日軍政大學(xué)','延安');
INSERT INTO student VALUES (1,'王曉陽',26,168,6),(2,'王楠',28,162,2),(3,'楊振宇',30,178,1),(4,'苗昕',28,162,3),(5,'張?jiān)娪?#39;,27,171,5),(8,'李倩',28,162,4),(9,'蔣結(jié)石',26,178,7);
1.左關(guān)聯(lián):以左表為中心,查出左表的全部數(shù)據(jù),關(guān)聯(lián)字段值不相等則右表查出的數(shù)據(jù)顯示為空;
select * from school a left join student b on a.sch_id=b.sch_id;
2.右關(guān)聯(lián):以右表為中心,查出右表的全部數(shù)據(jù),關(guān)聯(lián)字段值不相等則左表查出的數(shù)據(jù)顯示為空;
select * from school a right join student b on a.sch_id=b.sch_id;
3.內(nèi)關(guān)聯(lián):查出兩表關(guān)聯(lián)字段等值的數(shù)據(jù)
select * from school a inner join student b on a.sch_id=b.sch_id;
4.查出只屬于左表的數(shù)據(jù)
select * from school a left join student b on a.sch_id=b.sch_id where b.st_id is null;
5.查出只屬于右表的數(shù)據(jù)
select * from school a right join student b on a.sch_id=b.sch_id where a.sch_id is null;
6.查出全部數(shù)據(jù)
select from school a left join student b on a.sch_id=b.sch_id union select from school a right join student b on a.sch_id=b.sch_id;
7.查出左表和右表關(guān)聯(lián)不相等的數(shù)據(jù)
select from school a left join student b on a.sch_id=b.sch_id where b.st_id is null union select from school a right join student b on a.sch_id=b.sch_id where a.sch_id is null;
看完以上關(guān)于MySQL表關(guān)聯(lián)的常用方式有哪幾種,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。