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

SQL 简单练习的更多相关文章

  1. MVC 学习(二)之Linq to Sql 简单Demo

    Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查.Linq to sql 与Linq to Entities虽然同属于DataBase- ...

  2. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  3. Mybatis动态SQL简单了解 Mybatis简介(四)

    动态SQL概况 MyBatis 的强大特性之一便是它的动态 SQL 在Java开发中经常遇到条件判断,比如: if(x>0){ //执行一些逻辑........ }   Mybatis应用中,S ...

  4. Oracle笔记 六、PL/SQL简单语句块、变量定义

    1.简单SQL语句,HellWorld示例 --输出信息 begin dbms_output.put_line('Oracle Hello World!'); end; 2.变量的定义.使用 --定义 ...

  5. PL/SQL简单使用——导入、导出数据表

    1.使用PL/SQL导出.导入表 在使用PL/SQL操作oracle数据库时,经常使用的一个操作就是将自己写的数据表导出,或者想把他人的数据表导入到自己的数据库中.虽然是很简单的操作,但自己之前一直出 ...

  6. Spark的Streaming和Spark的SQL简单入门学习

    1.Spark Streaming是什么? a.Spark Streaming是什么? Spark Streaming类似于Apache Storm,用于流式数据的处理.根据其官方文档介绍,Spark ...

  7. SQL简单基础(1)

    对于SQL不再做过多的介绍,毕竟作为一个初学者对于SQL(结构化查询语言)也好,关系型数据库也好理解都并不是很深,只知道一些基本的概念. 本系列旨在介绍一些简单开发中用得上的SQL语句以及其使用方法, ...

  8. SQL简单基础(2)

    查询功能是SQL语句最重要的功能,查询操作也是数据库系统最常用的操作.学习SQL查询语句,首先要弄清楚的是查询语句用到的关键字以及查询语句的执行顺序.SQL语言的一个特点在于,它是一种声明式语句,执行 ...

  9. sql 简单语法

    1.数据库操作 create database student_info -- 创建数据库 drop database student_info -- 删除数据库 2.表操作 -- 创建表 creat ...

  10. SQL简单嵌套查询与非嵌套查询的比较(MSSQL2005)

    某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询).不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套 ...

随机推荐

  1. Egret初体验–躲避类小游戏

    下面简单介绍一下我这个游戏:基本上就3个画面(准备再添加一个胜利的界面)开始画面,一个按钮,点击进入游戏游戏画面,滚动的背景,触摸移动的老鹰,从天而降的翔,以及右上角的时间条结束画面,显示结果,关注按 ...

  2. How to Send an Email Using UTL_SMTP with Authenticated Mail Server. (文档 ID 885522.1)

    APPLIES TO: PL/SQL - Version 9.2.0.1 to 12.1.0.1 [Release 9.2 to 12.1]Information in this document a ...

  3. mysql安装常见问题(系统找不到指定的文件、发生系统错误 1067 进程意外终止)

    在安装mysql时总是会遇到这样那样的问题,每次重新安装都会花很多时间来排查.在网上其实有很多相关的文章,但很多都只讲了方法,但没讲具体细节问题,导致无法解决问题.其实有时候知道问题的原因,但总是因为 ...

  4. 记录一个php强制下载文件函数

    整理个经常用的强制下载文件的函数,之前就说把一些常用的东西整理出来结果老是没时间,最近陆续把这些东西整理下. public function download() { $id = $this-> ...

  5. lightoj 1064 Throwing Dice

    题意:给你n个骰子,求n个骰子的和不小于x的概率. 刚开始想每给一组数就计算一次~~太笨了- -,看了别人的代码,用dp,而且是一次就初始化完成,每次取对应的数据就行了.WA了好多次啊,首先不明白的就 ...

  6. 在MyEclipse环境下写Struts,删除项目不干净的问题的解决

    这个头疼的问题弄了好几个小时,终于弄好了.方法如下:1.建立一个新的项目,确认自己已经部署好Struts2的环境(网上有好多教程).运行Tomcat还是会有之前的项目的错误,接下来进行第二步2.将To ...

  7. Windows 7/Vista 开机自动登录

    “Win”+“R”打开命令窗口,输入"control userpasswords2"(不包括引号),或者 “rundll32 netplwiz.dll,UsersRunDll” 回 ...

  8. sersync+inotify实时备份数据

    Sersync项目简介与框架 简介 Sersync项目利用inotify与rsync技术实现对服务器数据实时同步的解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rs ...

  9. jquery学习(3)--高级选择器

    自己手写的学习笔记.常规选择器: /****************学习--高级选择器(1)****************/---高级选择器:ie7+ 层次选择器: 后代选择器     ul li ...

  10. c++中多态性、dynamic_cast、父类指针、父类对象、子类指针、子类对象

    c++多态性是依靠虚函数和父类指针指向子类对象来实现的.简单来说,父类中定义虚函数,父类指针指向子类对象,父类指针调用函数时调用的就是子类的函数. 父类没有定义虚函数,父类指针指向子类对象时,父类指针 ...