一、外连接
概念:包括坐向外连接、右向外连接和完整外部连接。
1. 左连接:left join 或 left outer join
(1)左外连接的结果集包括 LEFT JOIN 子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
(2)SQL语句:select * from table1 left join table2 on table1.id = table2.id;
2. 右连接:right join 或 right outer join
(1)右外连接的结果集包括 RIGHT JOIN 子句中指定的右表的所有行,而不仅仅是连接列所匹配的行。如果右表的某行在左表中没有匹配行,则在相关联的结果集行中左表的所有选择列表列均为空值(null)。
(2)SQL语句:select * from table1 right join table2 on table1.id = table2.id;
3. 完整外部连接:full join 或 full outer join
(1)完整外部连接返回左表和右表的所有行。当某行在另外一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值
(2)SQL语句:select * from table1 full join table2 on table1.id = table2.id;
二、内连接
概念:内连接是用比较运算符比较要连接列的值的连接
1. 内连接:join 或 inner join
(1)内连接只返回符合条件的table1和table2的列
(2)SQL语句:select * from table1 join table2 on table1.id = table2.id;
(3)内连接等价于(与这个SQL执行效果相同)SQL:select * from table1 a,table2 b where a.id = b.id;
(4)内连接也等价于(与这个SQL执行效果相同)SQL:select * from table1 cross join table2 where table1.id = table2.id(注:cross join 后加条件只能用where不能用on)
三、交叉连接
概念:没有where子句的交叉连接将产生连接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(table1 和 table2 交叉连接产生3*3 = 9条记录)
1. 交叉连接:cross join(不带条件where)
(1)SQL语句:select * from table1 cross join table2;
(2)交叉连接等价于(与这个SQL执行效果相同)SQL:select * from table1,table2;
- 浏览: 508408 次
- 性别:
- 来自: 北京
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
相关推荐
本文给大家分享的是如何配置MySQL支持SSL连接方式的方法以及在docker中配置的具体案例,有需要的小伙伴可以参考下
asp+mysql数据库连接配置详解_.docx
java中mysql连接数据库详解图释.doc
主要介绍了Mysql自连接查询,结合实例形式分析了MySQL自连接查询的应用场景、原理及相关操作技巧,需要的朋友可以参考下
详细简绍c#连接mysql过程,附加源代码和教程. 源码中包含一个常用的封装第三方驱动的类,里面对数据库的连接, 增删改查等操作做一个封装,方便大家操作数据库.
众所周知在默认情况下,我们安在阿里云上的mysql是不支持远程连接的,但是我们还需要通过一些工具来连接mysql,如navicat,这时就需要我们来修改mysql的远程连接了。 注意一点:当我们修改完mysql权限相关的操作后...
JSP连接Mysql数据库详解与实例
Weka连接MySQL数据库详解中要的的MySQL5.5.39和mysql-connector-java-5.1.41-bin.jar
当两张表含有相同意义的字段(可以不同名)时就可以进行连接查询内连接查询 代码如下:mysql> SELECT num, name, employee.d_id, sex, d_name, function -> FROM employee, department -> WHERE employee.d_id=...
主要介绍了MySQL连接查询,结合实例形式总结分析了mysql表的创建、内连接、左连接、右连接、复合条件连接查询等相关操作技巧,需要的朋友可以参考下
主要介绍了MYSQL 左连接右连接和内连接的详解及区别的相关资料,需要的朋友可以参考下
MySQL连接查询(多表连接查询:内连接,外连接,交叉连接详解) 6:多表连接查询 笛卡尔乘积:如果连接条件省略或无效则会出现 解决办法:添加上连接条件 连接查询的分类: 1.按年代分类: 1)sql 92标准:仅仅...
SpringMVC Mysql 实例详解
JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集
但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求! back_log = 1024 #back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在...
文章还探讨了优化查询语句的方法,如避免在列上进行函数或计算、使用连接代替子查询等。此外,还强调了优化表结构、服务器配置以及硬件和配置优化的重要性。具体实例和代码片段贯穿全文,为读者提供了具体的指导和...
主要介绍了navicat连接远程linux mysql数据库出现10061未知故障,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧