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