資源描述:
《sql語句的多表連接查詢》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、多表連接查詢SQL多表連接查詢分為:內(nèi)連接,外連接,交叉連接內(nèi)連接的使用?根據(jù)表中共同的列進(jìn)行匹配,特別是存在主外鍵關(guān)系。一般用的比較多外連接分為左外連接,右外連接,完整連接交叉連接返回的記錄是兩張表相乘的記錄數(shù)內(nèi)連接主要一主表的信息為主如果沒有數(shù)據(jù)就不顯示例如我們來看實(shí)例:先建兩張表:createtablestudent(?idintprimarykeyidentity(1,1),?namevarchar(50))createtablegrade(??idintprimarykeyidentity(1,1
2、),?scoremoney)altertablegradeaddsidintselect*fromgradealtertablegradeaddconstraint??fk_sidforeignkey(sid)referencesstudent(id)insertintostudentvalues('哈哈')insertintostudent?values('喜喜')insertintostudentvalues('呵呵')insertintostudentvalues('郁悶')insertintostu
3、dent?values('小強(qiáng)')insertintostudentvalues('小馬')insertintogradevalues(90,1)insertintogradevalues(80,2)insertintogradevalues(70,null)select*fromstudentselect*fromgrade內(nèi)連接查詢方式有兩種:1.selects.*,g.*fromstudents,gradegwheres.id=g.sid;2.selects.*,g.*fromstudentsinne
4、rjoingradegons.id=g.sid;我們看到我們主表沒有主表沒有匹配信息的時候其他的記錄沒有顯示下面我們來看外連接:主要以從表信息為主從表沒有主表記錄則顯示為nullselects.*,g.*fromstudentsleftjoingradegons.id=g.sidselects.*,g.*fromstudentsrightjoingradegons.id=g.sid還可以是??selects.*,g.*fromstudentsleftouterjoingradegons.id=g.sidse
5、lects.*,g.*fromstudentsrightouterjoingradegons.id=g.sid看他是左還是右下面來看看完整連接:將兩表的左和右基礎(chǔ)數(shù)據(jù)全部查詢出來當(dāng)一個表沒有另一個表的記錄的時候則為nul反之右表也是一樣selects.*,g.*fromstudentsfulljoingradegons.id=g.sidselects.*,g.*fromstudentsfullouterjoingradegons.id=g.sid交叉連接查詢:先返回左表所有行,左表行在與右表行一一組合,等于
6、兩個表相乘selects.*,g.*fromstudentscrossjoingradeg