- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2、多表查询 1、连接查询 连接查询:一个查询需要对多个表进行操作 表之间的连接:连接查询的结果集或结果表 连接字段:数据表之间的联系是通过表的字段值来体现的 连接操作的目的:从多个表中查询数据 表的连接方法 : 表之间满足一定条件的行进行连接时,FROM子句指明进行连接的表名,WHERE子句指明连接的列名及其连接条件 利用关键字JOIN进行连接:当将JOIN 关键词放于FROM子句中时,应有关键词ON与之对应,以表明连接的条件 SELECT [ALL|DISTINCT][TOP N [PERCENT][WITH TIES]] 〈列名〉[AS 别名1] [{,〈列名〉[ AS 别名2]}] [INTO 新表名] FROM〈表名1或视图名1〉[[AS] 表1别名] [{,〈表名2或视图名2〉[[AS] 表2别名]}] [WHERE〈检索条件〉] [GROUP BY 列名1[HAVING 条件表达式]] [ORDER BY 列名2[ASC|DESC]] 或 SELECT column_name [,column_name...] FROM {table_source} [,...,n] joim_type : := [INNER |{ { LEFT | RIGHT |FULL } [OUTER]}][join_hint]JOIN joined_table: := table_source join_type table_source ON search_condition | table_source CROSS JOIN table_source |joined_table [WHERE〈检索条件〉] [GROUP BY 列名1[HAVING 条件表达式]] [ORDER BY 列名2[ASC|DESC]] * INNER JOIN 显示符合条件的记录,此为默认值 LEFT(OUTER)JOIN 为左(外)连接,用于显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示 RIGHT(OUTER)JOIN 右(外)连接,用于显示符合条件的数据行以及右边表中不符合条件的数据行。此时左边数据行会以NULL来显示 FULL(OUTER)JOIN 显示符合条件的数据行以及左边表和右边表中不符合条件的数据行。此时缺乏数据的数据行会以NULL来显示 CROSS JOIN 将一个表的每一个记录和另一表的每个记录匹配成新的数据行 JION的分类 连接包括三种类型:内连接、外连接和交叉连接。(1)内连接 内连接是比较常用的一种数据连接查询方式。它使用比较运算符进行多个基表间数据的比较操作,并列出这些基表中与连接条件相匹配的所有的数据行。一般用INNER JOIN或JOIN关键字来指定内连接,它是连接查询默认的连接方式。 常用的内连接方式有等值连接、非等值连接和自连接。 * ①等值连接 【例3-24】查询每个客户的订单信息。 select orders.cid, orders.gid, orders.oamount from orders inner join Customer on Customer.cid= orders.cid 【例3-25】查询年龄在20以下的客户订单信息。 select orders.cid, orders.gid, orders.oamount from orders inner join Customer on Customer.cid= orders.cid where Customer.cage20; 连接条件 ,当比较运算符为“=”时,称为等值连接。 引用列名cid时要加上表名前缀,这是因为两个表中的列名相同, 必须用表名前缀来确切说明所指列属于哪个表,以避免二义性。 * 【例3-26】查询有购买记录的客户姓名及其购买的商品名称和购买日期。 select c.cname, g.gname, o.orderdate from Customer c join Orders o on o.cid= c.cid join Goods g on g.gid= o.gid 若连接查询中涉及的表太多,也可以给表使用别名。在此,c、o、g分别为表Customer、Orders、Goods的别名。 * ②自身连接 对同一个表同样也可以进行连接查询,这种连接查询方式就称为自连接。对一个表使用自连接方式时,需要为该表定义一个别名,其他内容与两个表的连接操作完全相似,只是在每次列出这个表时便为它命名一个别名。 【例3-27】查询价格相同的各类商品信息。 select a.gid,a.gnam
您可能关注的文档
- 数据库系统及应用3-SQL-1.ppt
- 数据库系统及应用3-SQL-2.ppt
- 数据库系统及应用4-Opti.ppt
- 数据库系统及应用5-theory-1.ppt
- 数据库系统及应用5-theory-2.ppt
- 数据库系统及应用6-DB_design.ppt
- 数据库系统及应用7.1-Realization.ppt
- 数据库系统及应用7.2~7.3-Security&Integrity.ppt
- 数据库系统及应用7.2-Recovery.ppt
- 数据库系统及应用8-ooDB.ppt
- 数据库系统原理及应用第4章 关系规范化库理论.ppt
- 数据库系统原理及应用第5章 数据库设计.ppt
- 数据库系统原理及应用第6章 数据库安全保护.ppt
- 数据库系统原理及应用第7 扩展知识--SQL Server 2012高级应用.ppt
- 数据库应用基础---Access 2003项目八 创建数据访问页.ppt
- 数据库应用基础---Access 2003项目二 创建数据库和表.ppt
- 数据库应用基础---Access 2003项目九 宏的使用.ppt
- 数据库应用基础---Access 2003项目六 窗体的创建与应用.ppt
- 数据库应用基础---Access 2003项目七 报表的创建与应用.ppt
- 数据库应用基础---Access 2003项目三 表的基本操作与修饰.ppt
文档评论(0)