zoukankan      html  css  js  c++  java
  • SQL 简单练习

    USE study;
    SELECT * FROM EMP 

    --查询雇员姓名的最后三个字母

    SELECT ename,right(ename,3) FROM EMP ;

    --查询10部门雇员进入公司的星期数

    SELECT ename,datename(month,hiredate) from EMP where deptno =10

    --1 查询部门30中的所有员工

    SELECT * FROM EMP WHERE deptno=30

    --2 列出所有办事员(CLERK)的姓名,编号和部门编号

    SELECT ename,empno,deptno FROM EMP where job='clerk'

    --3 找出佣金高于薪金的员工

    SELECT ename from EMP where sal >comm

    --求出每个雇员的年薪

    SELECT ename,sal*12 FROM EMP ;

    --4 找出佣金高于薪金的60%的员工

    SELECT ename ,sal,comm FROM EMP WHERE sal>comm*0.6

    --5 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料

    SELECT *FROM EMP WHERE (job ='MANAGER'AND deptno =10) OR (job ='MANAGER'AND deptno =20)

    --6 找出部门10中所有经理(MANAGER),部门20中的所有办事员(CLEAK),
    -- 既不是经理又不是办事员但薪金大于或等于2000的所有员工的详细资料

    SELECT *FROM EMP WHERE (job ='MANAGER'AND deptno =10) OR (job ='CLEAK'AND deptno =20)OR(job<>'MANAGER'AND job<>'CLEAK'AND sal >=2000) 

    --7 找出收取佣金的员工的不同工作

    SELECT DISTINCT job FROM EMP WHERE comm is not null

    --8 找出不收取佣金或收取佣金低于100的员工

    SELECT *FROM EMP where comm IS NULL OR comm<100

    --9 找出各月倒数第3天受雇的所有员工

    SELECT * FROM EMP WHERE month (dateadd (day,3,hiredate))=month(dateadd(month,1,hiredate))

    --10 找出早于12年前受雇的员工

    SELECT * FROM EMP WHERE datediff (year,hiredate ,getdate())>12

    --11 以首字母大写的方式显示所有员工的姓名

    SELECT upper(substring(ename,1,1))+lower(substring (ename,2,len(ename)))from emp

    --12 显示正好为5个字符的员工的姓名

    SELECT ename FROM EMP WHERE len(ename)=5 ;

    --13 显示不带有"R"的员工的姓名

    SELECT ename FROM EMP WHERE ename NOT LIKE 'R'

    --14 显示所有员工的姓名的前三个字符

    SELECT ename,right(ename,3) FROM EMP 

    --15 显示所有员工的姓名,用"a"代替所有的"A"

    SELECT replace(ename,'A','a')from EMP 

    --16 显示满10年服务年限的员工的姓名和受雇日期

    SELECT ename,hiredate FROM EMP WHERE datediff(year,hiredate,getdate())>10 

    --17 显示员工详细信息,按姓名排序

    SELECT * FROM EMP ORDER BY ename

    --18 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在前面

    SELECT ename,hiredate FROM EMP ORDER BY datediff(year ,hiredate ,getdate())DESC    

    --19 显示所有员工的姓名,工作和薪金,按工作的降序排序,若工作相同则薪金排序

    SELECT ename,job,sal from EMP ORDER BY job DESC,sal

    --20 显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将
    --最早年份的员工排在前面

    SELECT ename,year(hiredate)'年份',month(hiredate)'月份'FROM EMP ORDER BY 月份,年份 

    --21 显示在一个月为30天的情况,所有员工的日薪金,忽略余数

    SELECT ename,floor(sal/30) FROM EMP 

    --22 找出在(任何年份的)2月受雇的所有员工

    SELECT ename FROM EMP WHERE month(hiredate)=2

    --23 对于每个员工,显示其加入公司的天数

    SELECT ename,datediff (day,hiredate ,getdate()) FROM EMP

    --24 显示姓名字段的任何位置包含"A"的所有员工的姓名

    SELECT ename FROM EMP WHERE ename LIKE '%A%';

    --25 以年月日的方式显示所有员工的服务年限(大概)

    SELECT ename, floor(datediff(day,hiredate ,getdate())/365),floor(floor(datediff(day,hiredate ,getdate()))-floor(datediff(day,hiredate ,getdate())/365)*365)/12 from EMP
  • 相关阅读:
    (转)修改Android解锁界面
    linux terminal 快捷键
    (转)Android蓝牙开发浅析
    (转)android 编译单个模块
    (转)Android关机AppWidget的实现
    MyEclipse修改页面模板(JSP和HTML等) 分类: WEB项目应用 20100131 00:03 698人阅读 评论(1) 收藏
    定时任务:Timer类、TimerTask类 分类: java 20100317 22:01 551人阅读 评论(0) 收藏
    Socket读取输入流 分类: java 20100322 17:38 3330人阅读 评论(0) 收藏
    [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed. 分类: 开发常见问题解决方案 20100318 22:05 1106人阅读 评论(0) 收藏
    3/17/10 9:55:59 AM CST: [INFO] User settings file does not exist C:/Documents and Settings/Administrator/.m2/settings.xml 分类: 开发常见问题解决方案 20100317 10:20 3448人阅读 评论(4) 收藏
  • 原文地址:https://www.cnblogs.com/stayreal/p/3906715.html
Copyright © 2011-2022 走看看