![](/img/trans.png)
[英]mysql query SELECT x WHERE x.y NOT IN (SUBQUERY) not working
[英]MySQL query WHERE x and if set y
我一直在工作一個項目,我需要兩個表中的數據。 我不是MySQL查詢方面的專家,但是我已經做到了:
SELECT *
FROM `p_list` AS pl
JOIN `employee` AS em
WHERE em.id =10
AND pl.employee_id =10
當有一個pl.employee_id時,它工作正常,但在沒有的情況下返回結果。 這是有道理的,但我不知道如何獲取返回em.id = 10的位置以及是否設置了pl.employee_id的信息。
我要放棄,只運行兩個查詢,然后讓PHP做臟事。
試試這個,使用LEFT JOIN
SELECT *
FROM `p_list` AS pl
LEFT JOIN `employee` AS em
ON em.id = pl.employee_ID
WHERE em.id = 10
基本上,您現在正在做的是INNER JOIN
。 INNER JOIN
與LEFT JOIN
( 這是您需要的 )不同。 INNER JOIN
僅在INNER JOIN
條件中指定的記錄在另一張表上至少有一個匹配項時才返回結果。 另一方面 , LEFT JOIN
返回在LEFT表上指定的所有行,無論該表在另一個表上是否匹配。
您可以使用左聯接執行此操作:
SELECT *
FROM `p_list` AS pl
LEFT JOIN `employee` AS em ON em.id = pl.employee_id
WHERE em.id =10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.