sql多表查询与子查询

sql多表查询与子查询

ID:6321652

大小:50.24 KB

页数:25页

时间:2018-01-10

sql多表查询与子查询_第1页
sql多表查询与子查询_第2页
sql多表查询与子查询_第3页
sql多表查询与子查询_第4页
sql多表查询与子查询_第5页
资源描述:

《sql多表查询与子查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQL基础-->多表查询--==========================--SQL基础-->多表查询--==========================/*一、多表查询    简言之,根据特定的连接条件从不同的表中获取所需的数据     笛卡尔集的产生条件:       省略连接条件       连接条件无效       第一个表中的所有行与第二个表中的所有行相连接           二、多表查询语法:*/    SELECT table1.column, table2.column    FROM table1, table2    WHERE table1.col

2、umn1 = table2.column2;    /*    但要注意where 不要省了,省略where 即为笛卡尔集,而且where 条件要有效,    两张表间有一个相同的字段,才好进行有效的多表查询     查询时列名前,加表名或表别名前辍(如果字段在两个表中是唯一的可以不加)     为了简化SQL书写,可为表名定义别名,格式:from 表名别名    如:fromempe,deptd       建议使用表的别名及表前缀,使用表别名可以简化查询,而使用表前缀则可以提高查询性能     例:查询每个员工的工号,姓名,工资,部门名和工作地点*/    select emp

3、no,ename,sal,dname,loc from emp,dept    where emp.deptno=dept.deptno; /*三、多表连接类型:    从数据显示方式来讲有:内连接和外连接。    内连接:只返回满足连接条件的数据。    外连接:除了返回满足连接条的行以外,还返回左(右)表中,不满足条件的行,       称为左(右)连接     内连接*/    select empno,ename,sal,dname,loc from emp,dept    where emp.deptno=dept.deptno;  --(Oracle8i 及以前的写法)

4、     --内连接的另一种写法:    select empno,ename,job,sal,dept.deptno,dname,loc    from emp join dept on (emp.deptno=dept.deptno); --(SQL99的写法)     /*    外连接:    两个表的查询中,使用外连接可以查询另一个表或者两个中不满足连接条件的数据。    外连接的符号是(+),(+)要放在字段名后。(+)对面的那个表,会全部显示。       外连接语法*/        SELECT table1.column, table2.column   --右

5、外连接       FROM table1, table2       WHERE table1.column(+) = table2.column;             SELECT table1.column, table2.column   --左外连接       FROM table1, table2       WHERE table1.column = table2.column(+);     --例:    select empno,ename,job,sal,dept.deptno,dname,loc    from emp,dept    where em

6、p.deptno(+)=dept.deptno; --(Oracle8i 及以前的写法)     --另一种写法(右连接):     --(SQL99的写法)    select empno,ename,job,sal,dept.deptno,dname,loc    from emp right join dept on (emp.deptno=dept.deptno);     --左连接:                    (SQL99的写法)    select empno,ename,job,sal,dept.deptno,dname,loc    from emp 

7、left join dept on (emp.deptno=dept.deptno);     --全连接(满连接)            (SQL99的写法)   select empno,ename,job,sal,d.deptno,dname,loc    from empe full join deptd on (e.deptno=d.deptno);     /*    自然连接                    (SQL99的写法)    以两个表具有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。