SQL SELECT语句
基本SQL SELECT语句
1. 下面的语句是否可以执行成功
select ename , job , sal as salary from emp;
2. 下面的语句是否可以执行成功
select * from emp;
3. 找出下面语句中的错误
select empno , ename sal * 12 ANNUAL SALARY from emp;
修改后
select empno , ename ,sal * 12 "ANNUAL SALARY" from emp;
4. 显示表dept的结构,并查询其中的全部数据
SQL> desc dept;
Name Type Nullable Default Comments
------ ------------ -------- ------- --------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14) Y
LOC VARCHAR2(13) Y
SQL>
5. 显示出表emp中的不重复的岗位job
SELECT DISTINCT JOB FROM EMP;
6. 连接表emp的全部列,各个列之间用逗号连接,列头显示成OUT_PUT(提示:使用连接符||)
select EMPNO|| ',' || ENAME || ',' || JOB || ',' || MGR || ',' || HIREDATE || ',' || SAL || ',' || COMM || ',' || DEPTNO as "OUT_PUT" from emp;
过滤和排序数据
的员工姓名和工资
select ename, sal from emp where sal>1600;
的员工的姓名和部门号
select empno,ename,deptno from emp where empno=7369;
到5000的员工的姓名和工资
select ename,sal from emp where sal not between 4000 and 5000;
4. 选择雇用时间在1981-2-19到1981-12-3之间的员工姓名,JOB和雇用时间HIREDATE
Select ename, job, hiredate from emp where hiredate between to_date('1981-2-19','YYYY-mm-dd') and to_date('1981-12-3','YYYY-mm-dd');
和30号部门工作的员工姓名和部门号
select ename,deptno from emp where deptno in(20,30);
年雇用的员工的姓名和雇用时间
Select ename,hiredate
from emp
where hiredate between to_date('1987-1-1','YYYY-mm-dd')
and to_date('1987-12-31','YYYY-mm-dd');
7. 选择公司中没有管理者的员工姓名及JOB
select ename,job
from emp
where mgr is null;
8. 选择公司中有奖金的员工姓名,工资和奖金
select ename,sal,comm
from emp
where comm is not null
and comm>0;
9. 选择员工姓名的第三个字母是A的员工姓名
select ename from emp
where ename like '__A%';
10. 选择姓名中有字母A和E的员工姓名
select ename from emp
where ename like '%A%' and ename like '%E%' ;
单行函数
1. 显示系统时间
select sysdate from emp;
2. 查询员工表emp中员工号empno,姓名ename,工资sal,以及工资提高百分之20%后的结果
select empno,ename,sal,sal*0.2+sal from scott.emp
3. 将员工的姓名按首字母排序,并写出姓名的长度(length)
select ename from scott.emp order by substr(ename,1,1)
4. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员工已经工作了几个月)。
select ename,hiredate,round((sysdate-hiredate)/30) from scott.emp order by ename
5. 查询员工的姓名和工资,按下面的形式显示
|
Name |
Salary |
|
SMITH |
$$$$$$$$$$24000 |
select ename,sal,lpad(sal,10,'$') from scott.emp
,并对查询结果按月份数降序方式进行排列
select to_char(hiredate,'mm') as monthorder from scott.emp
where comm>1200
order by monthorder
7. 做一个查询,产生下面的结果
select ename || ' earns ' || to_char(sal,'$99,999') || ' monthly but wants ' || to_char(sal*3,'$99,999') "Dream Salary"
from scott.emp
<enamename> earns <sal> monthly but wants <sal*3>
|
Dream Salary |
|
King earns $24000 monthly but wants $72000
|
8. 做一个查询,产生类似下面的结果
|
Ename |
HireDate |
reiew |
|
SMITH |
1980-12-17 |
1980年12月17日 |
select ename,to_char(hiredate,'yyyy-mm-dd') as hiredate,
to_char(hiredate,'YYYY"年"MONTH"月"DD"日"' ) as review
from scott.emp
9. 使用decode函数,按照下面的条件:
job grade
PRESIDENT A
MANAGER B
ANALYST C
SALESMAN D
CLERK E
产生类似下面形式的结果
|
ENAME |
Job |
Grade |
|
SMITH |
CLERK |
E |
select ename,job,
DECODE(job, 'PRESIDENT', 'A',
'MANAGER', 'B',
'ANALYST', 'C',
'SALESMAN', 'D',
'CLERK', 'E'
)
Grade
from scott.emp
题的查询用case函数重新实现。
select ename,job,
CASE job WHEN 'PRESIDENT' THEN 'A'
WHEN 'MANAGER' THEN 'B'
WHEN 'ANALYST' THEN 'C'
WHEN 'SALESMAN' THEN 'D'
WHEN 'CLERK' THEN 'E'
END "Grade"
from scott.emp
SQL SELECT语句的更多相关文章
- SQL SELECT 语句
本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...
- SQL Select语句完整的执行顺序(转)
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- 170607、SQL Select语句完整的执行顺序
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- SQL-W3School-基础:SQL SELECT 语句
ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...
- 优化 SQL SELECT 语句性能
SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则.20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间. 检查索引:在SQ ...
- SQL select语句执行顺序
sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...
- SQL Select语句完整的执行顺序
1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5. 使用having子句筛 ...
- oracle 10g 学习之基本 SQL SELECT 语句(4)
本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的 定义空值 l 空值是无效的,未指定的,未知的或不可预知的值 l ...
- Oracle系列二 基本的SQL SELECT语句
1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT 标识 选择哪些列. FROM 标识从哪个表中选择. * 选择全部 ...
随机推荐
- 为sproto添加python绑定
项目地址:https://github.com/spin6lock/python-sproto 第一次写Python的C扩展,留点笔记记录一下.主要的参考文档是:Extending Python wi ...
- libevent库1.4升级到2.0时无法flush的解决办法
libevent的接口兼容性做的还算不错,基本上替换一下就转到新版本了.但是,强制flush数据的时候出了问题.目前的应用场景是,遇到顶号登录这种情形,先用bufferevent_write向客户端发 ...
- H5版俄罗斯方块(2)---游戏的基本框架和实现
前言: 上文中谈到了H5版俄罗斯方块的需求和目标, 这次要实现一个可玩的版本. 但饭要一口一口吃, 很多东西并非一蹴而就. 本文将简单实现一个可玩的俄罗斯方块版本. 下一步会引入AI, 最终采用coc ...
- cocos2d 保存最近登陆多个账号最多一个月
用的是一个单例来管理 ,数据是存在本地的xml文件里的格式如下 <?xml version="1.0" encoding = "utf-8" ?> ...
- XML实体注入漏洞
XML实体注入漏洞 测试代码1: 新建xmlget.php,复制下面代码 <?php $xml=$_GET['xml']; $data = simplexml_load_string($xml) ...
- ubuntu QWT Qt
1,下载QWT 2,解压进入QWT的目录 3,qmake,生成makefile文件 4,编译,make 5,安装,make install ,需要root 安装好后会在 /usr/local 目录下有 ...
- [USACO08DEC] Trick or Treat on the Farm
题目描述 每年万圣节,威斯康星的奶牛们都要打扮一番,出门在农场的N个牛棚里转 悠,来采集糖果.她们每走到一个未曾经过的牛棚,就会采集这个棚里的1颗糖果. 农场不大,所以约翰要想尽法子让奶牛们得到快乐. ...
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
http://zhangxiong0301.iteye.com/blog/2242723 最近有个需求,就是使用mybatis时,向mysql中插入数据,其参数为map类型,map里面的key为列名, ...
- 需求文档2_The Battle of Polytopia
需求文档 ------------------------------------- 1. 游戏详细分析 The Battle of Polytopia简要介绍 探索型.策略型的对战塔防游戏,回合制. ...
- Kafka/Metaq设计思想学习笔记 转
转载自: http://my.oschina.net/geecoodeer/blog/194829 本文没有特意区分它们之间的区别,仅仅是列出其中笔者认为好的设计思想,供后续设计参考. 目前笔者并没有 ...