mysql - SQL查詢問題
問題描述
表A 表Buser_id name id user_id sorce 1張三 1 1 78 2李四 2 2 3王五 3 5 80 想要查詢表A中 沒有分數或者表B中沒有分數記錄的,sql如何寫?select A.user_idid A.name FROM A LEFI JOIN BON A.user_id=B.user_id WHERE B.sorce=’’;這個SQL不知道對不對?1.表A中的user_id=3的王五,但王五的記錄在B表中沒有,我用左鏈接查詢出來2.sorce =’’解決分數為空 查詢出來
問題解答
回答1:不太同意一樓的sql語句,第一是因為子查詢,第二好像沒有檢索出沒有分數記錄的。
SELECT * FROM product.a left join product.b on aid=aid2 where b.aid2 is null or sc is null;
這是我自己本地測試的,用的是mysql,但是其實都差不多。先用表連接把兩個表按照規定的id鏈接在一起,aid對應是你a表里的userid,aid2對應是你b表的userid,然后最后上圖。圖一是我的sql語句的結果,圖二是我的a表,圖三是我的b表。
這也只是解決的一種方式,我也不是很擅長后臺數據庫~~希望對你有幫助,也希望有更好的解決方案。因為我沒有考慮性能問題。
回答2:select * from 表A where user_id not in (select user_id from 表B where score >=0 )回答3:
select user_id, namefrom table_a where user_id not in (select user_id from table_b)union allselect b.user_id, a.namefrom table_b binner join table_a a on a.user_id = b.user_idwhere b.sorce=’’
有時候判斷條件語句過于復雜可以使用union all將各個條件結果連接在一起.
相關文章:
1. python3.5 urllib.parse.unquote 亂碼2. html5 - node靜態資源服務器設置了Cache-Control,但瀏覽器從來不走3043. android - ionic應用打包部署了,但是連接不上服務器,就連寫一個a標簽鏈接到百度都不可以4. mysql - 這里的sql語句該怎么寫5. Mysql 關于 FOUND_ROWS() 和 ROW_COUNT() 函數6. mysql - msyql 判斷字段不為空 簡單方法7. mysql - laravel 子查詢的問題8. 老師百度網盤分享一下WampServer的包啊,我們下載幾kb要下載一天的.9. mysql中的collate關鍵字是什么意思?10. mysql - 使用update語句同時更新兩個表的問題?
