




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
黑马程序员c语言教程:多表查询 第一篇:黑马程序员c语言教程:多表查询笛卡尔积部门表笛卡尔积产生结果:行数两个表相乘列数:行数相加原因条件等值连接select****fromtab1,tab2wheretab1.a=tab2.aselectcount(e.ename)fromempe,deptd3*wheree.deptno=d.deptnoSQL>/COUNT(E.ENAME)--------------多表查询关键点:等值连接eg:查询员工信息,员工号,姓名,月薪,部门名称selecte.empno,e.ename,e.sal,d.dnamefromempe,deptd3*wheree.deptno=d.deptnoSQL>/EMPNOENAMESALDNAME--------------------------------------------7369SMITH800RESEARCH7499ALLEN1600SALES7521WARD1250SALES7566JONES2975RESEARCH7654MARTIN1250SALES7698BLAKE2850SALES7782CLARK2450ACCOUNTING7788SCOTT3000RESEARCH7839KING5000ACCOUNTING7844TURNER1500SALES7876ADAMS1100RESEARCH7900JAMES950SALES7902FORD3000RESEARCH7934MILLER1300ACCOUNTING已选择14行。不等值连接:eg:查询员工信息,员工号,姓名,月薪,薪水级别selecte.empno,e.ename,e.sal,s.gradefromempe,salgradeswheree.sal>=s.losalande.salselecte.empno,e.ename,e.sal,s.gradefromempe,salgradeswheree.salbetweens.losalands.hisal外连接eg:按部门统计员工人数:部门号部门名称各部门人数分析1:102030====>分组分析2:因为各部门人数是在员工表中..多表查询步骤1selectd.deptno,d.dname,count(e.empno)fromdeptd,empewhered.deptno=e.deptnogroupbyd.deptno,d.dnameDEPTNODNAMECOUNT(E.EMPNO)-------------------------------------ACCOUNTING3RESEARCH5SALES6步骤2外连接....分析:为什么40号部门没有统计出来原因:因员工表里面没有40号部门的员工(现象)whered.deptno=e.deptno(sql)问题的本质40=====>期望:在连接条件不成立的条件下,也要把部门编号40给显示出来....外连接...selectd.deptno,d.dname,count(e.empno)fromdeptd,empewhered.deptno=e.deptno(+)groupbyd.deptno,d.dname左外连接:(+)写在=号的右边自连接:--查询员工信息,老板信息显示:****的老板是****自连接:把一张表看成两张表,自连接--员工表的老板是老板表的员工selecte.ename,b.enamefromempe,empbwheree.mgr=b.empnoselecte.ename||'的老板是'||b.enamefromempe,empbwheree.mgr=b.empno====>需求把员工表的每一条记录都显示出来selecte.ename||'的老板是'||b.enamefromempe,empbwheree.mgr=b.empno(+)selecte.ename||'的老板是'||nvl(b.ename,'他自己')fromempe,empbwheree.mgr=b.empno(+)SMITH的老板是FORDMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO----------------------------------------------------------------------------7369SMITHCLERK790217-12月-80800207499ALLENSALESMAN769820-2月-811600300307521WARDSALESMAN769822-2月-811250500307566JONESMANAGER783902-4月-812975207654MARTINSALESMAN769828-9月-811

沛芹****ng
实名认证
内容提供者


最近下载