资源描述:
《《SQL语句培训文档》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2008年10月中国电力科学院配电与农电研究院ORACLE数据库SQL语句培训(一)四类SQL语句1、数据表创建语句创建员工数据表:CREATETABLEEmployee(Em_idnumber(8),Em_namevarchar(20),dp_idnumber(8),salarynumber(6));插入演示数据:INSERTINTOEmployeeVALUES(1,'陈红卫',1,4000);INSERTINTOEmployeeVALUES(2,'骆誉明',1,2800);INSERTINTOEmployeeVALUES(3,
2、'汪金海',2,5000);INSERTINTOEmployeeVALUES(4,'王敏',2,3500);INSERTINTOEmployeeVALUES(5,'杜康乐',2,1800);INSERTINTOEmployeeVALUES(6,'赵方',8,8000);Commit;1、数据表创建语句创建部门数据表:CREATETABLEDepartment(dp_idnumber(8),dp_namevarchar(20),Up_DepIDnumber);插入演示数据:INSERTINTODepartmentVALUES(1,'
3、技术组',0);INSERTINTODepartmentVALUES(2,'服务组',0);INSERTINTODepartmentVALUES(3,'工程组',0);INSERTINTODepartmentVALUES(6,'财务部',2);COMMIT;说明:部门编号、部门名称、上级部门编号。1、内关联InnerJoin查询语句:SELECT*FROMEmployeeEMPINNERJOINDepartmentDPONEMP.dp_id=DP.DP_ID1、左关联LeftJoin查询语句:SELECT*FROMEmployee
4、EMPLeftJOINDepartmentDPONEMP.dp_id=DP.DP_ID说明:左关联查询,只对(Left)后面的数据表进行过滤。查询结果:1、右关联和全关联RightJoin:SELECT*FROMEmployeeEMPRightJOINDepartmentDPONEMP.dp_id=DP.DP_ID说明:右关联查询,只对(Right)后面的数据表进行过滤。FullJoin:提问:此时查询的结果如何?请写出查询结果。SELECT*FROMEmployeeEMPFullJOINDepartmentDPONEMP.dp_
5、id=DP.DP_ID说明:Full查询,不再对两边的数据表进行过滤。提问:此时查询的结果如何?请写出查询结果。1、自然连接和Using语句NaturalJoin:SELECT*FROMEmployeeEMPNATURALJOINDepartmentDP说明:只有两个数据表中有相同的列,并且使用该列进行关联时,才可以使用自然连接。自然连接查询结果和内连接查询相同。Using子句:SELECT*FROMEmployeeSTINNERJOINDEPMENTDPUSING(dp_id)说明:两个数据表中有相同的列时,可以使用该查询语句。
6、1、子查询语句In语句:SELECT*FROMEmployeeWHEREdp_idIN(SELECTDP_IDFROMDepartmentWHEREUP_DEPID=0)说明:查询部门编号为0(工程技术部)下级部门的人员。EXISTS语句:SELECT*FROMEmployeeAWHEREEXISTS(SELECTDP_IDFROMDepartmentBWHEREUP_DEPID=0ANDA.dp_id=B.dp_id);说明:和In语句查询出的结果一样,该语句查询的效率大大优于In语句。1、第一章试题1、阐述四种关联查询的区别;
7、2、自己独立编写,查询上级部门编号为0部门的员工,(普通关联查询、IN语句和Exist语句,三种不同的语句);3、插入部门编号为0的部门信息(部门名称为:工程技术部;上级部门编号为:99);4、查询最底部门(最末端的部门,如“工程组”、“服务组”等)的信息;