第十章 外联接,自联接与联合
原创
©著作权归作者所有:来自51CTO博客作者墨痕1990319的原创作品,如需转载,请与作者联系,否则将追究法律责任
第十章 外联接,自联接与联合
一.外联接
左联接:LEFT OUTER JOIN;匹配左表中的每一行及由表中符合条件的行。
/*左外联接*/
SELECT g.girl, t.toy FROM girls g LEFT OUTER JOIN toys t ON g.toy_id = t.toy_id;
说明:内联接与外联接的区别在于,外联接一定会提供数据行,无论该行能否在另一个表中找到相匹配的行。
/*右外联接*/
SELECT g.girl, t.toy FROM toys t RIGHT OUTER JOIN girls g ON g.toy_id = t.toy_id;
说明:右外联接也是根据左表来评估右表的。
二.自联接
/*自联接*/
SELECT c1.name, c2.name AS boss FROM clown_info c1 INNER JOIN clown_info c2 ON c1.boss_id = c2.id;
自联接能把单一表当成两张具有完全相同信息的表来进行查询。
三.联合
/*联合*/
SELECT title FROM job_current UNION SELECT title FROM job_desired UNION SELECT title FROM job_listings;
说明:
a. 每个SELECT语句中列的数量必须一致。不可以由第一条语句选取两列,由其他语句却只选取一列。
b. 每个SELECT语句包含的表达式与统计函数也必须相同。
c. SELECT语句的顺序不重要,不会改表结果。
d. SQL默认会清除联合结果中的重复值。
e. 列的类型必须相同或者可以相互转换。
f. 如果处于某些原因而需要看到重复数据,可以使用UNION ALL运算符。这个运算符返回每个相符的记录,而不只是没有重复的记录。
上一篇:第九章 子查询
下一篇:第十一章 约束、视图和事物
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
第十章 STL
迭代器类的具体实现:为了隐藏每个容器中迭代器的具体实现,也为了统一用户对于每个容器中迭代器的访问方式,用户可以把迭代器当成一
c++ 开发语言 迭代器 数据 赋值 -
SQL中内联接与外联接小结
简单实例辩析SQL内联接外联接的区别
SQL 数据库 其他 休闲 联接 -
第十章 SQL谓词 IN
[toc] 第十章 SQL谓词 IN将值匹配到以逗号分隔的非结构化列表中的项。大纲scalar-expre
sql 数据库 database 子查询 字段 -
第十章:Intent详解
【正文】Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识
android 优先级 数据