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. 注冊賬戶文字不能左右分離2. html - vue項目中用到了elementUI問題3. 對mysql某個字段監控的功能4. javascript - 數組的過濾和渲染5. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能6. python - 使用readlines()方法讀取文件內容后,再用for循環遍歷文件與變量匹配時出現疑難?7. showpassword里的this 是什么意思?代表哪個元素8. html5 - ElementUI table中el-table-column怎么設置百分比顯示。9. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。10. JavaScript事件
