国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

oracle - Mysql查詢,join空表時發生問題

瀏覽:113日期:2022-06-15 13:01:37

問題描述

問題是這樣的,用戶表有一個記錄,現在想用用戶表join另一張計算出來的表,查詢用戶表的一個記錄和另一張計算出來的表的所有記錄。但是這張計算得來的表有可能是空的,當它是空表的時候,最后的查詢結果就只能是空值了

select * from user u1 join (select * from user where user.id=2) as u2 where u1.id=1;

比如以上這個sql語句,user表只有id為1的記錄。查詢出來是Empty set ,怎么讓它把id為1的記錄取出來?

PS:試過左連接,,結果不行,報錯了

select * from user u1 left join (select * from user where user.id=2) as u2 where u1.id=1;

在where u1.id=1附近出的錯

問題解答

回答1:

左連接是這樣玩的么..

SELECT * FROM user LEFT JOIN user2 ON user1.id = user2.gid where 你的條件

以左表為基準,右表沒數據也會返回左表的內容

SELECT * FROM table1 JOIN table2? 條件沒有直接這樣

回答2:

剛剛想出了一個答案,使用合并結果集select u1.id from user as u1 where u1.id=1 union select u2.id from user u2 where u2.id=2;即使用戶表沒有2這個記錄也可以取出id為1的記錄。而且把2改成3同樣可以取出2和3的記錄又想了幾分鐘,發現左連接也是可以的,不過要加表連接條件,1=1.這樣sql語句就不會報錯了之前試過這么做,但是結果集太亂以為不成功,所以看走眼了感謝回答的朋友,你們的每一次回答都對我有不少的啟發,謝謝你們

主站蜘蛛池模板: 上犹县| 三明市| 磐安县| 鄢陵县| 临安市| 江门市| 丹巴县| 嘉定区| 丹江口市| 通城县| 循化| 梁平县| 黄冈市| 威宁| 东源县| 安新县| 新和县| 尉氏县| 永仁县| 江孜县| 永仁县| 新巴尔虎右旗| 固镇县| 蕉岭县| 余江县| 朝阳区| 二连浩特市| 成武县| 调兵山市| 广平县| 绵阳市| 霍林郭勒市| 博客| 平原县| 康保县| 牙克石市| 贞丰县| 盘山县| 且末县| 彭阳县| 巴林右旗|