簡體   English   中英

SQL缺少表達

[英]SQL Missing Expression

我正在嘗試選擇性別為女性或x的數據。 我使用的代碼不能為男性,返回的是Missing Expression:

    SELECT pet_id, name, gender, type, breed
    FROM Pet
    WHERE Name Like '%s' or Name like 'S%'
    And WHERE Gender ='F' or Gender ='X';

我的格式可以嗎?

在查詢中,您兩次使用了where關鍵字,這是無效的。
sql語法禁止您這樣做,每個select關鍵字可以在fromwhere使用一個。
要選擇多個字段,請用逗號分隔。
要從多個表中選擇,請用逗號分隔。
要在使用andor where子句中使用多個條件(此規則適用於大多數編程語言,例如,不能具有if(x1==1 and if (x2==2))而應使用if(x1==1 && x2==2)
還要嘗試使用in運算符來確定您的性別狀況,例如

Gender in('F','X')

in運算符允許您檢查給定列的值是否存在於數組/列表/一系列可能的值中。

您在查詢中重復了“ where”。 以下列方式重寫應該可以工作:

SELECT pet_id, name, gender, type, breed
FROM Pet
WHERE (Name Like '%s' or Name like 'S%') AND (Gender ='F' or Gender ='X');

嘗試這個

SELECT pet_id,name,gender,type,breed FROM Pet
Where (Name Like '%s' or Name like 'S%')
And (Gender ='F' or Gender ='X');

我們不能在單個查詢中多次使用“哪里”,並且正如您看到的那樣,您應該使用方括號。

移開第二個WHERE,不要忘記括號:

SELECT pet_id, name, gender, type, breed
    FROM Pet
    WHERE (Name Like '%s' or Name like 'S%')
       And Gender in ('F','X')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM