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

来源:互联网 发布:消防工程预算软件 编辑:程序博客网 时间:2024/06/09 08:23

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';
原创粉丝点击