资源描述:
《复杂查询语句使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、复杂查询语句的使用############################复杂查询语句的使用#####################################1.查询语句的使用使用select语句和子查询(subquery)可以从一个或多个表,视图,实体试图中返回数据.1.1相关子查询可以将子查询(assubquery)或in或exists当成where的一个条件的一部分,这样的查询称为子查询.where中可以包含一个select语句的子查询.where中可以包含in,exists语句.最多可以嵌套16层.层次过多会
2、影响性能[例]简单子查询实例查询是否有的专家既以研究所的名义来申请基金项目,又以大学系为单位申请项目(按规定只能以一个单位来申请)SQL>createtableuniv_subject2(3namevarchar2(12)notnull,4per_idnumbernotnull,5dept_namevarchar2(20)6);SQL>insertintouniv_subjectvalues('gaoqianjing',1001,'信息工程系');SQL>insertintouniv_subjectvalues('wangb
3、ing',1002,'物理系');SQL>insertintouniv_subjectvalues('liming',1003,'化学系');===============SQL>createtablecolle_subject2(3colle_namevarchar2(20),4per_idnumber5);SQL>insertintocolle_subjectvalues('电子研究所',1001);SQL>insertintocolle_subjectvalues('物理研究所',1005);=============
4、===SQL>selectname,per_id,dept_namefromuniv_subjectwhereper_idin2(selectper_idfromcolle_subject);NAMEPER_IDDEPT_NAME-----------------------------------------gaoqianjing1001信息工程系1.2外连接[例]外连接实例招生中所有学生的信息放在students表中,而部分有特长的学生在另一个表中stuent_skill中同样有该学生的信息。现在要全部列出所有学生,如果
5、某个学生在表student_skill中就有其特长信息,并显示特长信息,如果某个学生没有特长就显示特长问空.SQL>createtablestudents2(3st_idvarchar2(20),4namevarchar2(10),5agenumber(2),6tol_scorenumber(3)7);SQL>insertintostudentsvalues('973231','wangbindu',22,501);SQL>insertintostudentsvalues('973232','zhuzhijing',21,5
6、38);SQL>insertintostudentsvalues('973233','gaojing',21,576);===================SQL>createtablestudent_skill2(3st_idvarchar2(20),4skillvarchar2(20)5);SQL>insertintostudent_skillvalues('973231','篮球');SQL>insertintostudent_skill(st_id)values('973232');SQL>insertintost
7、udent_skillvalues('973233','足球');===================SQL>selecta.*,b.skillfromstudentsa,student_skillbwherea.st_id=b.st_id(+)orderbya.st_id;ST_IDNAMEAGETOL_SCORESKILL--------------------------------------------------------------------973231wangbindu22501篮球973232zhuz
8、hijing21538973233gaojing21576足球1.3自我连接自我连接是在同一个表或视图内进行条件连接.[例]自我连接实例查询每个雇员的名字和该雇员的经理的名字:SQL>selecte1.ename
9、
10、'workfor'
11、
12、e2.ename"Employeesandtheir