基本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

19801217

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语句的更多相关文章

  1. SQL SELECT 语句

      本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...

  2. SQL Select语句完整的执行顺序(转)

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  3. 170607、SQL Select语句完整的执行顺序

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  4. SQL-W3School-基础:SQL SELECT 语句

    ylbtech-SQL-W3School-基础:SQL SELECT 语句 1.返回顶部 1. 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于 ...

  5. 优化 SQL SELECT 语句性能

    SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则.20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间. 检查索引:在SQ ...

  6. SQL select语句执行顺序

    sql查询原理和Select执行顺序 关键字: 数据库 一 sql语句的执行步骤 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是 ...

  7. SQL Select语句完整的执行顺序

    1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5. 使用having子句筛 ...

  8. oracle 10g 学习之基本 SQL SELECT 语句(4)

    本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的 定义空值 l  空值是无效的,未指定的,未知的或不可预知的值 l  ...

  9. Oracle系列二 基本的SQL SELECT语句

    1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT   标识 选择哪些列. FROM      标识从哪个表中选择. *           选择全部 ...

随机推荐

  1. 观看github前100开源项目的读后感

    文章来自:http://www.oschina.net/news/61416/github-top-100-objective-c-projects?from=20150412 ReactiveCoc ...

  2. 添加数据之后不跳页面显示一个漂亮的提示信息(非ajax提交数据)

    1.在后台设置一个添加成功与否的提示 2.在添加页面设置提示信息 (自己喜欢什么样式就条成什么样式) 3.写js控制提示信息的显示与消失

  3. C++模板中的函数对象

    在C++模板类map中一个参数为Compare类型,该类型为一个比较函数,其完整定义如下: template< class Key, class T, class Compare = std:: ...

  4. lsof 解决无法删除文件夹问题

    今天在HPCC上面想要删除一个文件夹,结果说“Device or  resource busy". 于是google一下,发现这个是因为有程序正在运行,所以无法删除. 那么怎样解决? lso ...

  5. mac 下安装 lua5.3 + cjson

    1.lua 5.3的安装 直接去官网下载 http://www.lua.org/ftp/lua-5.3.3.tar.gz make macosx sudo make install 2.CSJON 编 ...

  6. CSS之利用text-indent隐藏文字用图片当Login

    html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  7. 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

    场景: .Net程序调用Oracle方法 command.ExecuteNonQuery()执行存储过程;弹出如标题异常信息. 存储过程有4个输入参数,一个输出参数.一旦执行到给输出参数赋值的时候就报 ...

  8. RNG vs EDG | SKT vs KTB [20160826]

    G1 RNG:丽桑卓,古拉加斯,强行开团流. EDG:崔斯特,普朗克,伊莉斯游走,全球支援流,小规模团战能以多打少. G2 RNG:塔莉垭,纳尔,烬. EDG:雷克塞,艾克,劫,冲击后排. G3 RN ...

  9. angularjs如何在视图渲染结束之后,或者render之后执行指令中的link方法呢?

    angularjs如何在视图渲染结束之后,或者render之后执行指令中的link方法 关键字: $timeout app.directive("myDirective",func ...

  10. Django进阶篇(一)

    Form django中的Form一般有两种功能: 1.输入html 2.验证用户输入 最简易的form验证: <!DOCTYPE html> <html lang="en ...