6人合力写出来的T-Sql语句

本文提供了一个具体的SQL查询案例,目标是从包含10,000名员工的数据库中筛选出1980年出生且工资高于5000的员工名单。文章展示了多种错误的SQL查询尝试,并提供了一个正确的解决方案。

需求描述:

1.公司有10000人

2.1980年出生的有3000人

3.工资在5000以上的有3000人

4.1980年出生的员工,工资在5000以上的有1000人

查询1980年出生的,工资在5000以上的员工名单

下面是6个同学合力写出来的:

 

 1 --表Employee
 2 --出生日期 Birth,类型:datetime
 3 --工资 Wage,类型:decimal(18,2)
 4 --姓名 EmpName,类型:navarchar(20)
 5 --01
 6 select EmpName from Employee
 7  where Birth = "1980and Wage = "6000"
 8 --02
 9 select EmpName from Employee
10  where Birth = "1980and Wage >5000
11 --03
12 select EmpName from Employee
13  where Birth = '1980' and Wage >5000
14 --04
15 select EmpName from Employee
16  where Birth datetime = '1980' and Wage >50
17 --05
18 select EmpName from Employee
19  where Birth like '1980%' and Wage >5000
20 --06
21 select EmpName from Employee
22  where Birth like '%1980%' and Wage >5000

 

其实我是希望有人写出这样的语句来:

 

1 select EmpName from Employee
2  where Year(Birth) = 1980 and Wage >5000

 

当然不希望有人写出这样的语句来:

 

1 select EmpName from Employee
2  where Wage >5000 and Year(Birth) = 1980

 

值得深思!

 

转载于:https://www.cnblogs.com/Ferry/archive/2009/11/05/1596711.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值