[英]SQL missing expression
SQL的新手。 必須回答這個問題。 我有2張桌子。 “雇員”和“部門”
問題是。 “所有工資不在$ 5,000到$ 10,000范圍內的雇員的雇員姓名,部門負責人和工資”
這就是我嘗試過的。
select employee_name, hod, salary
from employees
where salary < 5000 and > 10000;
說在'>'10000下缺少表達式;
有任何想法嗎? 我需要加入部門嗎?
您有語法錯誤,最后一行需要是(每次指定列名):
where salary < 5000 and salary > 10000;
但是那樣就沒有意義了,因為沒有滿足這些標准的價值。 您需要使用條件or
:
where salary < 5000 or salary > 10000
排除5000至10000之間的薪水。
您還可以使用BETWEEN實現相同的目的:
where salary not between 5000 and 10000
WHERE
子句中的每個條件都必須獨立存在,對於第二個條件,它不知道哪個字段應> 10000
,因此必須指定:
select employee_name, hod, salary
from employees
where salary < 5000
and salary > 10000;
這將排除所有的記錄,因為它是在每一行的比較和每個記錄只能有一個價值salary
,所以有可能你想OR
代替AND
,也許你有你的實際查詢不同的領域。
有BETWEEN
定義一個數字/日期范圍,但是它是包容性的,即WHERE salary BETWEEN 5000 and 10000
將包括> = 5000和<= 10000的所有內容,因此在這種情況下沒有幫助,有些人希望完全避免使用它約會可能會有些棘手。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.