mysql 兩個(gè)表中的信息關(guān)聯(lián)起來使用方法:
站在用戶的角度思考問題,與客戶深入溝通,找到廣饒網(wǎng)站設(shè)計(jì)與廣饒網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋廣饒地區(qū)。
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;
1、首先我們打開Workbench創(chuàng)一個(gè)建數(shù)據(jù)庫(這里都使用閃電1執(zhí)行選定命令行)。
2、先創(chuàng)建Student學(xué)生表。
3、再創(chuàng)建course課程表。
4、然后就可以創(chuàng)建sc關(guān)聯(lián)表了我們先寫上Student的主鍵和course的主鍵,并寫上sc自己的屬性成績。
5、再寫上主鍵約束,以及把sc表的學(xué)號屬性和Studnet的學(xué)號關(guān)聯(lián)、課程號屬性和course的課程號關(guān)聯(lián)。
6、再次運(yùn)行就可以看到我們成功創(chuàng)建了學(xué)生表和課程表的關(guān)聯(lián)表sc。
第一:內(nèi)聯(lián)(inner join)
如果想把用戶信息、積分、等級都列出來,那么一般會這樣寫:
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)),但后者的效率會比前者高很多,建議用后者(內(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