三表左連接查詢的sql語句寫法
更新時間:2008年09月19日 18:19:31 作者:
left join三表左連接sql查詢語句
今天要查詢所有realname的username,psw,gname,tel
表結(jié)構(gòu):
表t1
字段名:t1_id,username,psw
表t2
字段名:t2_id,gname,t1_id //這里一個t1_id對應(yīng)多個t2_id
t3
字段名:t3_id,realname,tel,t1_id //這里一個t1_id對應(yīng)一個t3_id
遇到的麻煩是當(dāng)一個realname在t2表中沒有內(nèi)容時,也要將此realname的username,psw,tel等顯示出來,直接使用
sql="select username,psw,gname,tel from t1,t2,t3 where t1.t1_id=t2.t1_id and t1.t1_id=t3.t1_id"
得到的結(jié)果是:t2表中必須有某個realname的作品,才能查詢出來他的信息,這肯定不是想要的結(jié)果,最后想到使用左連接,sql語句是:
sql="select username,psw,gname,tel from (t1 left join t2 on t1.t1_id=t2.t1_id) left join t3 on t1.t1_id=t3.t1_id"
這樣就得到想要的結(jié)果了。
表結(jié)構(gòu):
表t1
字段名:t1_id,username,psw
表t2
字段名:t2_id,gname,t1_id //這里一個t1_id對應(yīng)多個t2_id
t3
字段名:t3_id,realname,tel,t1_id //這里一個t1_id對應(yīng)一個t3_id
遇到的麻煩是當(dāng)一個realname在t2表中沒有內(nèi)容時,也要將此realname的username,psw,tel等顯示出來,直接使用
sql="select username,psw,gname,tel from t1,t2,t3 where t1.t1_id=t2.t1_id and t1.t1_id=t3.t1_id"
得到的結(jié)果是:t2表中必須有某個realname的作品,才能查詢出來他的信息,這肯定不是想要的結(jié)果,最后想到使用左連接,sql語句是:
sql="select username,psw,gname,tel from (t1 left join t2 on t1.t1_id=t2.t1_id) left join t3 on t1.t1_id=t3.t1_id"
這樣就得到想要的結(jié)果了。
相關(guān)文章
Navicat Premium15安裝及破解教程詳解親測有效(附破解失敗解決方案)
這篇文章主要介紹了Navicat Premium15安裝及破解教程詳解親測有效,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11