簡體   English   中英

SQL缺少表達式

[英]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.

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