mysql 兩個(gè)表中的信息關(guān)聯(lián)起來使用方法:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了龍南免費(fèi)建站歡迎大家使用!
1、創(chuàng)建主表:
create table UserInfo(
UserID int identity(1,1) primary key, --遞增主鍵
UserAccounts varchar(20),
UserName varchar(20),
UserPwd varchar(10));
2、創(chuàng)建附表(含外鍵)
create table News(
NewsID int identity(1,1) primarykey,
UserID int,
NewsTitle varchar( 50 ),
NewsRelease varchar( 200 ),
NewsReleaseTime datetime,
FOREIGN KEY (UserID) REFERENCES UserInfo(UserID)); --外鍵約束
如果附表已存在,但沒外鍵,可采用以下方法:
alter table profession add constraint fk_prov_id foreign key(prov_id) references province(prov_id) on update cascade on delete cascade;
第一:內(nèi)聯(lián)(inner join)
如果想把用戶信息、積分、等級(jí)都列出來,那么一般會(huì)這樣寫:
select * from T1, T3 where T1.userid = T3.userid
(其實(shí)這樣的結(jié)果等同于select * from T1 inner join T3 on T1.userid=T3.userid )。
把兩個(gè)表中都存在userid的行拼成一行(即內(nèi)聯(lián)),但后者的效率會(huì)比前者高很多,建議用后者(內(nèi)聯(lián))的寫法。
SQL語句:
select * from T1 inner join T2 on T1.userid = T2.userid
運(yùn)行結(jié)果
T1.userid username password T2.userid jifen dengji
1 jack jackpwd 1 20 3
第二:左聯(lián)(left outer join)
顯示左表T1中的所有行,并把右表T2中符合條件加到左表T1中;
右表T2中不符合條件,就不用加入結(jié)果表中,并且NULL表示。
SQL語句:
select * from T1 left outer join T2 on T1.userid = T2.userid
運(yùn)行結(jié)果
T1.userid username password T2.userid jifen dengji
1 jack jackpwd 1 20 3
2 owen owenpwd NULL NULL NULL
第三:右聯(lián)(right outer join)。
顯示右表T2中的所有行,并把左表T1中符合條件加到右表T2中;
左表T1中不符合條件,就不用加入結(jié)果表中,并且NULL表示。
SQL語句:
select * from T1 right outer join T2 on T1.userid = T2.userid
運(yùn)行結(jié)果
T1.userid username password T2.userid jifen dengji
1 jack jackpwd 1 20 3
NULL NULL NULL 3 50 6
第四:全聯(lián)(full outer join)
顯示左表T1、右表T2兩邊中的所有行,即把左聯(lián)結(jié)果表 + 右聯(lián)結(jié)果表組合在一起,然后過濾掉重復(fù)的。
SQL語句:
select * from T1 full outer join T2 on T1.userid = T2.userid
方法和操作步驟如下:
1、首先,創(chuàng)建一個(gè)測(cè)試表,如下圖所示,然后進(jìn)入下一步。
2、其次,插入測(cè)試數(shù)據(jù),如下圖所示,然后進(jìn)入下一步。
3、接著,完成上述步驟后,查詢表中的數(shù)據(jù),“select t.* from test_tbl2 t?”,如下圖所示,然后進(jìn)入下一步。
4、最后,完成上述步驟后,編寫sql,兩個(gè)表通過pid與id關(guān)聯(lián), “select t1.*, t2.* from test_tbl1 t1 join test_tbl2 t2 on t1.p_id = t2.id;”,如下圖所示。這樣,問題就解決了。
文章標(biāo)題:mysql主表怎么關(guān)聯(lián),mysql主從表關(guān)聯(lián)
網(wǎng)頁地址:http://jinyejixie.com/article32/dsdggpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營(yíng)銷、網(wǎng)站制作、網(wǎng)站策劃、全網(wǎng)營(yíng)銷推廣、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)