选择部门30中的所有职工
a) SELECT *FROM T_emp WHERE deptno = ‘30’
列出所有业务员(CLERK)的姓名,编号,和部门编号
b) SELECT ename,empno,deptno FROM T_emp WHERE job = 'CLERK'
找出奖金高于薪金的员工
c) SELECT ename FROM T_emp WHERE comm > sal
找出奖金高于薪金的60%的员工
d) SELECT ename FROM T_emp WHERE comm > sal*0.6
找出部门10中所有经理(MANAGER)和部门20中所有业务员(CLERK)的详细资料
e) SELECT *FROM T_emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job ='CLERK')
找出部门10中所有经理(MANAGER),部门20中所有业务员(CLERK),既不是经理又不是业务员但其薪水大于等于2000的所有员工的详细资料
f) SELECT *FROM T_emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job ='CLERK') OR (job <> 'MANAGER' AND job <> 'CHERK' AND sal >= 2000)
找出收取佣金的员工的不同工作
g) SELECT DISTINCT( job) FROM T_emp WHERE comm>0
找出不收取佣金或收取的佣金低于100的员工
h) SELECT ename FROM T_emp WHERE comm < 100 OR comm IS NULL
找出各月倒数第3天受雇的所有员工
i) SELECT ename FROM T_emp WHERE DAY(DATE(DD,3,hierdata))=1
找出早于12年前受雇的员工
j) SELECT *FROM T_emp WHERE hierdata < DATEADD(YY,-12,GETDATE())
以首字母大写的方式显示所有员工的姓名
k) SELECT UPPER(SUBSTRING(ename,1,1)) + SUBSTRING(ename,2,LEN(ename)-1) FROM T_emp
显示正好为5个字符的员工姓名
l) SELECT ename FROM T_emp WHERE LEN(ename)=5
显示不带有”R”的员工姓名
m) SELECT ename FROM T_emp WHERE ename not like '%R%'
n) SELECT ename FROM T_emp WHERE PATINDEX('%R%',ename)=0
显示所有员工姓名的前三个字符
- o) SELECT SUBSTRING(ename,1,3) FROM T_emp
显示所有员工的姓名,并用’a’替换所有’A’
p) SELECT REPLACE(ename,'A','a') FROM T_em
显示满10年服务年限的员工姓名和受雇日期
q) SELECT ename ,hierdata FROM T_emp WHERE DATEADD(YY,10,hierdata)<GETDATE()
显示员工的详细资料,按姓名由大到小排序
r) SELECT *FROM T_emp ORDER BY ename DESC
显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
s) SELECT ename , hierdata FROM T_emp ORDER BY hierdata
显示所有员工的姓名,工作和薪金,按工作降序排列,若工作相同则按薪金升序排序
t) SELECT ename , job,sal FROM T_emp ORDER BY job DESC, sal ASC
显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在的月排序,若月份相同,则将最早年份排在最前面
u) SELECT ename , hierdata FROM T_emp ORDER BY MONTH(hierdata),YEAR(hierdata)
显示一个月为30天的情况所员工的日薪金,忽略余数
v) SELECT ename,ROUND(sal/30,0) FROM T_emp
找出在(任何年份)2月受聘的所有员工
w) SELECT *FROM T_emp WHERE DATEPART(MM,hierdata)=2
对每个员工,显示其加入公司的天数
x) SELECT ename, DAY(GETDATE() - hierdata) FROM T_emp
显示姓名中任意位置包含“A”的所有员工姓名
y) SELECT ename FROM T_emp WHERE enme LIKE ‘%A%’
以年月日方式显示所有员工的服务年限
SELECT ename , “服务年限”= DATEDIFF( YY,GETDATA()-hierdata)) +”年” +DATEDIFF(MM,GETDATE()-hierdata) +”月” + DATEDIFF(DD,GETDATE()-hierdata) +”天” FROM T_emp
求每个雇员的姓名,工资,工资等级
SELECT ename,sal,Grade FROM T_emp JOIN T_salgrade ON T_emp.empno = T_salgrade.empno
求每个员工的姓名,部门名,部门号
SELECT ename,dname,loc FROM T_emp JOIN T_dept ON T_emp.deptno = T_dept.deptno
求公司中谁的薪水最高
SELECT E TOP 1 ename FROM T_emp ORDER BY sal DESC
雇员中有哪些人是经理人
SELECT ename FROM T_emp WHERE job = ‘MANAGER’
求比普通员工的最高薪水还要高的经理人名称
SELECT ename FROM T_emp WHERE job = ‘MANAGER’ AND sal > (SELECT MAX(sal) FROM Temp WHERE job <>’MANAGER’)
求薪水最高的前5名雇员
SELECT TOP 5 *FROM T_emp ORDER BY sal DESC
求薪水最高的第6到第10名雇员(重点掌握)
SELECT TOP 5 *FROM (SELECT TOP 10 *FROM T_emp ORDER BY sal DESC) ORDER BY sal ASC
求最后入职的5名员工
SELECT TOP 5 *FROM T_emp ORDER BY hierdata DESC
浙公网安备 33010602011771号