使用where子句過濾空白字段的SQL左連接
P粉511985082
P粉511985082 2023-08-13 19:06:52
0
1
538
<p>我有兩個表,一個是使用者表(Users table),一個是令牌表(Token table)。我想要將這兩個表連接起來,查看哪些用戶已驗證了他們的令牌,哪些沒有。令牌表中有一個包含使用者ID的外鍵。 </p> <p>現在我正在使用左連線(left join)來連線使用者ID,並嘗試檢查是否沒有驗證。查詢語句如下:</p> <pre class="brush:php;toolbar:false;">SELECT name, verified FROM users LEFT JOIN tokens ON users.ID = tokens.UID WHERE verified = false</pre> <p>假設我有以下兩個表格:</p> <pre class="brush:php;toolbar:false;">ID | Name 0 | Joe 1 | Sally 2 | Dave 3 | John</pre> <p>然後,令牌表如下:</p> <pre class="brush:php;toolbar:false;">ID | UID | Verifed 0 | 1 | 0 1 | 2 | 0 2 | 3 | 1</pre> <p>如你所見,Joe在第二個表中沒有記錄。我希望將這兩個表連接起來,即使Joe在第二個表中沒有記錄,也希望將其視為false/null。當我執行查詢以查找未驗證的使用者時,只會傳回2個條目的資料。 </p> <pre class="brush:php;toolbar:false;">Name | Verified Sally | 0 戴夫 | 0</pre> <p>如果我去掉where子句,結果會是以下這樣:</p> <pre class="brush:php;toolbar:false;">Name | Verified Sally | 0 Dave | 0 John | 1 Joe | NULL</pre> <p>如你所見,Joe在底部具有null值,但我希望將其視為未驗證。我應該如何編寫查詢語句以獲得以下資料:</p> <pre class="brush:php;toolbar:false;">Name | Verified Sally | 0 Dave | 0 Joe | NULL</pre> <p>或只需以下查詢語句,結果為3。目前的查詢結果為2。 </p> <pre class="brush:php;toolbar:false;">SELECT count(*) FROM users LEFT JOIN tokens ON users.ID = tokens.UID WHERE verified = false</pre> <p><br /></p>
P粉511985082
P粉511985082

全部回覆(1)
P粉322106755

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板