SQL单表查询
- --1,选择不猛30中的雇员
- SELECT *
- FROM EMP
- WHERE DEPTNO = 30;
- --2,列出所有办事员的姓名,编号和部门
- SELECT ENAME,EMPNO,DEPTNO
- FROM EMP
- WHERE JOB = 'CLERK';
- --3,找出佣金高于薪金的雇员
- SELECT *
- FROM EMP
- WHERE NVL(COMM,0) > SAL;
- --4,找出佣金高出薪金的60%的雇员
- SELECT *
- FROM EMP
- WHERE NVL(COMM,0) > SAL * 0.6;
- --5,找出部门10中所有经理和部门20中所有办事员的详细资料
- SELECT *
- FROM EMP
- WHERE (DEPTNO = 10 AND JOB = 'MANAGER')
- OR (DEPTNO = 20 AND JOB = 'CLERK');
- --
- SELECT *
- FROM EMP
- WHERE DEPTNO = 10
- AND JOB = 'MANAGER'
- UNION
- SELECT *
- FROM EMP
- WHERE DEPTNO = 20
- AND JOB = 'CLERK';
- --6,找出部门10中所有经理,部门20中所有办事员
- --以及既不是经理又不是办事员但其薪金大于或等于2000
- --的所有雇员的详细资料
- SELECT *
- FROM EMP
- WHERE (DEPTNO = 10 AND JOB = 'MANAGER')
- OR (DEPTNO = 20 AND JOB = 'CLERK')
- OR (JOB NOT IN ('MANAGER','CLERK')
- AND SAL >= 2000);
- --
- SELECT *
- FROM EMP
- WHERE DEPTNO = 10
- AND JOB = 'MANAGER'
- UNION
- SELECT *
- FROM EMP
- WHERE DEPTNO = 20
- AND JOB = 'CLERK'
- UNION
- SELECT *
- FROM EMP
- WHERE JOB != 'MANAGER'
- AND JOB != 'CLERK'
- AND SAL >= 2000;
- --7,找出收取佣金的员工的不同工作
- SELECT DISTINCT JOB
- FROM EMP
- WHERE NVL(COMM,0) > 0;
- --8,找出不收取佣金或收取的佣金低于100的员工
- SELECT *
- FROM EMP
- WHERE NVL(COMM,0) < 100
- OR COMM IS NULL;
- --9,找出各月倒数第三天受雇的所有员工
- SELECT *
- FROM EMP
- WHERE HIREDATE = LAST_DAY(HIREDATE) -2;
- --10,找出早于12年前受雇的员工
- SELECT *
- FROM EMP
- WHERE HIREDATE < ADD_MONTHS(SYSDATE,-12*12);
- --11,以首字母大写的方式显示所有员工的姓名
- SELECT INITCAP(ENAME) AS 姓名
- FROM EMP;
- --12,显示正好为5个字符的员工的姓名
- SELECT ENAME
- FROM EMP
- WHERE LENGTH(ENAME) = 5;
- --
- SELECT ENAME
- FROM EMP
- WHERE ENAME LIKE '_____';
- --13,显示不带‘R’的员工的姓名
- SELECT ENAME
- FROM EMP
- WHERE ENAME NOT LIKE '%R%';
- --14,显示所有员工姓名的前三个字符
- SELECT SUBSTR(ENAME,1,3) AS ENAME
- FROM EMP;
- --15,显示所有员工的姓名,用a替换所有‘A’
- SELECT REPLACE(ENAME,'A','a') AS ENAME
- FROM EMP;
- --
- SELECT TRANSLATE(ENAME,'A','a') AS ENAME
- FROM EMP;
- --16,显示满10年服务年限的员工的姓名和受雇日期
- SELECT ENAME,HIREDATE
- FROM EMP
- WHERE MONTHS_BETWEEN(SYSDATE,HIREDATE) > 120;--!大时间写在后
- --
- SELECT ENAME,HIREDATE
- FROM EMP
- WHERE SYSDATE > ADD_MONTHS(HIREDATE,12 * 10);
- --17,显示员工的详细资料,按姓名排序
- SELECT *
- FROM EMP
- ORDER BY ENAME;
- --18,显示员工的姓名和受雇日期,根据其服务年限,
- --将最老的员工排在最前面
- SELECT ENAME,HIREDATE
- FROM EMP
- ORDER BY HIREDATE;
- --19,显示所有员工的姓名、工作和薪金,按工作的
- --降序排列,若工作相同则按薪金排序
- SELECT ENAME,JOB,SAL
- FROM EMP
- ORDER BY JOB DESC,SAL;
- --20,显示所有员工的姓名、加入公司的年份和月份,
- --按受雇日期所在月排序,若月份相同则将最早
- --年份的员工排在最前面
- SELECT ENAME,TO_CHAR(HIREDATE,'YYYY"年"MM"月"')
- FROM EMP
- ORDER BY TO_CHAR(HIREDATE,'MM'),TO_CHAR(HIREDATE,'YYYY')
- --21,显示在一个月为30天的情况所有员工的日薪金,
- --忽略余数
- SELECT ENAME,TRUNC(SAL/30)
- FROM EMP;
- --22,找出在(任何年份的)2月受聘的所有员工
- SELECT *
- FROM EMP
- WHERE TO_CHAR(HIREDATE,'MM') = '02';
- --23,对于每个员工,显示其加入公司的天数
- SELECT ENAME,FLOOR(SYSDATE - HIREDATE)
- FROM EMP;
- --24,显示姓名字段的任何位置包含‘A’的所有员工的姓名
- SELECT *
- FROM EMP
- WHERE ENAME LIKE '%A%';
- --25,以年月日的方式显示所有员工的服务年限(大概)
- SELECT EMPNO,ENAME,
- (
- '在职'||TRUNC((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12))||'年'||
- TRUNC(MOD((MONTHS_BETWEEN(SYSDATE,HIREDATE)),12))||'个月'||
- ROUND(SYSDATE-(ADD_MONTHS(HIREDATE,MONTHS_BETWEEN
- (SYSDATE,HIREDATE))))||'天'
- )
- FROM EMP;
SQL单表查询的更多相关文章
- SQL单表查询案例
表(emp)结构 (1)查询部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料. SELECT * FROM emp ; (2 ...
- sql 单表查询练习
-- 工资高于3000的员工select * from emp where sal > 3000;-- 工资在2500和3000之间的员工select * from emp where sal ...
- SQL数据查询之——单表查询
一.SQL数据查询的一般格式 数据查询是数据库的核心操作.SQL提供了SELECT语句进行数据查询,其一般格式为: SELECT [ALL | DISTINCT]<目标列表达式>[,< ...
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- SQL基本查询_单表查询(实验二)
SQL基本查询_单表查询(实验二) 查询目标表结构及数据 emp empno ename job hiedate sal comn deptno 1007 马明 内勤 1992-6-12 4000 2 ...
- springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany
springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...
- sql多表查询(单表查询略过)
表library: 表borrow: 表reader: 1.等值连接:(常用) 原理:将多张表组合成一个逻辑大表,即字段相加记录相乘(笛卡尔积). 语法:select * from 表A,表B whe ...
- sql语句-单表查询
一:单表查询 CREATE TABLE `Score`( `s_id` ), `c_id` ), `s_score` ), PRIMARY KEY(`s_id`,`c_id`) ); ); ); ); ...
- SQL基础--查询之一--单表查询
SQL基础--查询之一--单表查询
随机推荐
- php绝对路径与相对路径之间关系的的深入研究
php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层../表示当前层.假如现在a/b/c/s.php要调用根目录下的 ...
- 全程图解 手把手教您开启windows终端服务
一.什么是远程桌面? 远程桌面是微软公司为了方便网络管理员管理维护服务器而推出的一项服务.从windows 2000 server版本开始引入,网络管理员使用远程桌面连接程序连接到网络任意一台开启了远 ...
- inux环境PHP7.0安装
inux环境PHP7.0安装 PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导 ...
- Get与Post比较
- java中获取路径中的空格处理(%20)问题
在java中获取文件路径的时候,有时候会获取到空格,但是在中文编码环境下,空格会变成“%20”从而使得路径错误. 解决办法: String path = Parameter.class.getReso ...
- WAF绕过小结
WAF介绍 什么是WAF? Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品. 基本/简单绕过方法: 1.注释符 http://www.site. ...
- B0BO TFS 安装指南(转载)
TFS2008安装过几次,每次都遇到点麻烦,结合网上的一些经验总结一下: Windows SharePoint Services 安装 Windows SharePoint Services你有两个选 ...
- ios开发 <AppName>-Prefix.pch文件的用法详解
我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个 ...
- java连接各种数据库代码大全
1.Oracle8/8i/9i数据库(thin模式)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();S ...
- PHP5.3中关于VC9和VC6以及Thread Safe和Non Thread Safe版本选择的问题
转自:http://www.htmer.com/article/716.htm 最近在PHP官网上看到又有新版的PHP下载了,于是上去找找For Windows的版本,可是一看确傻眼了,一共给了四个版 ...