第一章:SQL数据操作和查询

1.总结:

 Oracle SQL 语句中有数据操纵语言(DML)、数据定义语言(DDL)、           数据控制语言(DCL)、事务控制语言(TCL)等等。

 DML 语句包括增删改查语句,DDL 语句包括数据库对象创建、修改和删除语句,数据控制命令包括 GRANTREVOKE 等,事务控制命令有 COMMITROLLBACK 等。

 数据库中建表常用的类型有:数字类型number(p,s),可变字符串varchar2(length),日期 date。

 Oracle 中 default 是一个值,在 Oracle 中不存在 default 约束。

 Oracle 的增删改语句与 SQL Server 基本一致,都是使用 INSERTUPDATEDELETE完成。

 Oracle 高级查询中要注意:DISTINCTNULLIN、BETWEEN…AND…。 集合操作有:UNIONUNION ALL、INTESECT、MINUS。

 联接查询有内联接和外联接。

2.练习:

--创建一查询,显示与Blake在同一部门工作的雇员的项目和受雇日期,但是Blake不包含在内。
select ename,hiredate from emp where deptno in (select deptno from emp where ename='BLAKE') and ename <> 'BLAKE';

--显示位置在Dallas的部门内的雇员姓名、变化以及工作
SELECT * FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE LOC='DALLAS');

--显示被King直接管理的雇员的姓名以及工资。
SELECT A.* FROM EMP A,EMP B WHERE A.MGR=B.EMPNO AND B.ENAME='KING';

--创建一查询,显示能获得与Scott一样工资和奖金的其他雇员的姓名、受雇日期以及工资
SELECT * FROM EMP WHERE (SAL,NVL(COMM,0))=(SELECT SAL,NVL(COMM,0) FROM EMP WHERE ENAME='SCOTT');
--创建一查询,显示与 Blake 在同一部门工作的雇员的项目和受雇日期,但是 Blake不包含在内。
  SELECT ENAME, JOB ,HIREDATE FROM EMP WHERE DEPTNO=(SELECT DEPTNO FROMEMP 
  WHERE ENAME='BLAKE') AND ENAME<>'BLAKE';
--显示位置在 Dallas 的部门内的雇员姓名、变化以及工作。
  SELECT ENAME,JOB FROM EMP WHERE DEPTNO=(SELECTDEPTNO FROM DEPT WHERE  LOC=’DALLAS’);
--显示被 King 直接管理的雇员的姓名以及工资。
   SELECT E.ENAME,E.SAL FROM EMP E,EMP EP 
   WHEREE.MGR=EP.EMPNO AND EP.ENAME='KING';
--创建一查询,显示能获得与 Scott 一样工资和奖金的其他雇员的姓名、受雇日期以及工资。
  SELECT ENAME,SAL,HIREDATE FROM EMP WHERE SAL=(SELECT SAL 
  FROM EMP WHERE ENAME='SCOTT')AND NVL(COMM,0)=(SELECT NVL(COMM,0) 
  FROM EMP WHERE ENAME='SCOTT') AND BENAME<>'SCOTT';
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值