【发布时间】:2022-01-20 15:20:05
【问题描述】:
我想要一个 SQL 查询,该查询打印一个雇员姓名的列表,这些雇员姓名的雇佣时间少于 10 个月,薪水>2000。按 emp_id 升序对该结果进行排序。
我试过了,但给了我一个错误,指出不再使用提取。:
select * from emp where
salary>2000 and (months_between(date, hire_date))<=10
order by emp_no asc ;
如何形成查询?
【问题讨论】:
-
您应该至少添加
emp表的一部分。 -
SQL server 没有months_between函数
-
在 SQL Server 上,您可能会使用
and hire_date >= dateadd(month, - 10, getdate()),但这可能取决于您要如何计算月份。 -
您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库都使用的一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag。 Why should I tag my DBMS
-
# emp_no,birth_date,first_name,last_name,gender,hire_date,salary '10001','1953-09-02','Georgi','Facello','M','2020-02 -23'、'7850.00'、'10002'、'1964-06-02'、'Bezalel'、'Simmel'、'F'、'2020-02-23'、'1756.50'、'10003'、'1959-12 -03'、'Parto'、'Bamford'、'M'、'2020-02-23'、'7850.00'、'10004'、'1954-05-01'、'Chirstian'、'Koblick'、'M' , '2020-04-15', '3475.00' '10005', '1955-01-21', 'Kyoichi', 'Maliniak', 'M', '2019-12-27', '1756.50' '10006' , '1953-04-20', 'Anneke', 'Preusig', 'F', '2020-02-23', '7850.00' '10007', '1957-05-23', 'Tzvetan', 'Zielinski ', 'F', '2020-02-23', '7850.00'