第12章 SQL联接
2024-10-07 21:31:41
第12章 SQL联接
关系数据库的3个支柱:选择、投影和联接。
两种基本的连接同等联接和非同等联接。
源表和目标表有相同的名称的列,就可以在他们之间执行自然联接,而无需指定连接列。
自然join using语句
select table1.column,table2.coulmn from table1 join table2
using(join_column1)
在公共的join_column1列值上联接table1和table2
自然join on子句
select table1.column,table2.column from table1 join table2
on(table1.column_name=table2.column_name)
有三自然联接格式:natural join,join on ,join using
左外联接
select table1.column,table2.column from table1
left outer join table2
on(table1.column_name=table2.column_name)
右外连接
select table1.column,table2.column from table1,table2
table1.column_name(+)=table2.column_name
等同于:
select table1.column,table2.column from table1
right outer join table2
on(table1.column_name=table2.column_name)
全外联接
select table1.column,table2.column from table1
full outer join table2
on(table1.column_name=table2.column_name)
全外联接返回左外联接和右外联接的组合结结果。
交叉联接
select tbale1.column,table2.column from table1
cross join table2
用来确定孤立行或生成大的数据集用于测试
当使用交叉联接时就会生成笛卡尔乘积,当语句中没有足够的条件时,就会无意中创建笛卡尔乘积,没有共享相同名称的列的自然联接也会产生笛卡尔乘积。
最新文章
- vim(vi)常用操作及记忆方法
- Network - curl和Wget
- 【代码笔记】iOS-设置textView或者label的行间距方法
- 二分查找C++
- 如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3
- 使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
- Oracle10G的Sga_max_size和sga_target应该如何设置啊!
- Scala 函数(五)
- Windows Message Queue--hdu1509
- MySql Table错误:is marked as crashed and last (automatic?) 和 Error: Table ";mysql";.";innodb_table_stats"; not found
- 浏览器播放rtsp流媒体解决方案
- 1.Introduction 介绍
- myeclipse配置SVN插件
- 浅谈mybatis如何半自动化解耦
- Mysql 数据库管理
- Windows 版本说明,Enterprise、Ultimate、Home、Professional知多少
- 25. Spring Boot与缓存 JSR-107、Spring缓存抽象
- OOP⑻
- GitHub 新手教程 四,Git GUI 新手教程(1),OpenSSH Public Key
- MapReduce(一) mapreduce基础入门
热门文章
- 牛客CSP-S提高组赛前集训营1
- RAKsmart服务器受消费者青睐的原因
- What is the difference between HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR
- Java 多线程 - ThreadLocal
- scala中Tuple简单使用
- 2015年MBA备考心得
- 命令学习_IPCONFIG: DNS cache操作
- 命令学习_ping
- System.Clollections.IEnumerable.cs
- .NETFramework:Exception