左联接、右联接、内联接、自然联接
前几日面试。面试小哥问我左联接、右联接是什么。一时语塞。好像根本没用到过,也就没在意过,一直都是简单的自然连接。
左联接:也叫左外联接。就是以左表为主,右表为辐,ON 后跟的条件对右表生效。结果中包含全部左表数据,和符合条件的右表数据。
SELECT A.* ,B.* FROM Student A LEFT JOIN score B ON (a.id=b.id)
右联接:也叫右外联接。是以右表为主,左表为辅,ON后跟的条件对左表生效,结果中包含全部右表数据,和符合条件的左表数据;
SELECT A.* ,B.* FROM Student A RIGHT JOIN score B ON (a.id=b.id)
内联接:等同于自然连接;取两表符合条件的交集。
SELECT A.* ,B.* FROM Student A INNER JOIN score B ON (a.id=b.id)
==SELECT A.* ,B.* FROM Student A , score B WHERE a.id=b.id
补充
SQL中on条件与where条件的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用left jion时,on和where条件的区别如下:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
左联接、右联接、内联接、自然联接相关推荐
- 左、右、内、自然连接
我们先给两张表: tb_dept tb_emp /* 自然连接, 依靠相同的属性列连接,没有相同则不连接 */select * from tb_emp as t1 natural join tb_de ...
- mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)
mysql 实现表连接(左,右,内,全连接) 查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处 表 a,和表b 如下图 a 表中 有 abcd b表中有 abcf 内连接:SELE ...
- 连接查询 左连接 右连接 内连接 1112 sqlserver
1112连接查询 内联连 关键词 inner join-on inner join...on 格式 表1 inner join 表2 on 表1.列 = 表2.列 表1 inner join 表2 o ...
- mysql 左连接 和全连接_mysql左连接,右连接,内连,全连
mysql> #首先建立两张表A,B,查看下表结构 mysql> desc A; +-------+-------------+------+-----+---------+------- ...
- SQL中的连接(左、右、内连接)
目录 左连接(LEFT JOIN或LEFT OUTER JOIN): 右连接(RIGHT JOIN或RIGHT OUTER JOIN): 内连接(INNER JOIN也叫等值连接): 全连接(FULL ...
- 新手:MySQL 左连接 右连接 内连接 全外连接查询数据
A 表 tb_as B表 tb_pslos LEFT JOIN 左连接 SELECT a.iob_name,b.iob_name FROM tb_as a LEFT JOIN tb_pslos b ...
- mysql左连接 右连接 内连接的区别
1.内连接,显示两个表中有联系的所有数据; 2.左链接,以左表为参照,显示所有数据,右表中没有则以null显示 3.右链接,以右表为参照显示数据,,左表中没有则以null显示 例子: -------- ...
- 【Mysql】图解左、右、内与全连接
一.前言 使用学生表与成绩表来演示Mysql中的各种连接查找 学生表的建表语句如下: CREATE TABLE student(id int(11) NOT NULL AUTO_INCREMENT C ...
- 【MySQL】左连接右连接内连接与Hash连接、子查询原理与实战(MySQL专栏启动)
- linq to entity 左联接 右连接 以及内连接写法的区别(转)
linq to entity 左连接 右连接 以及内连接写法的区别 还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...
最新文章
- 北京大学现代农业研究院张华伟实验室招聘启示
- hadoop 2.x HA 出现ssh不能解析问题记录。
- 异常解决(一)-- RuntimeError: expected device cpu but got device cuda:0
- java创建变量的过程_java 对象的创建过程
- Android开发之自定义菊花进度条对话框
- 一个程序猿必须掌握的HTML的常识
- javascript中的||运算符
- vim打造成golang的IDE
- 如何实现一个简单的熔断以及Hystrix原理分析
- No module named MYSQLdb 问题解决
- html生成pdf java_java 中实现HTML 生成pdf
- Java方法 (含计算器代码)
- iOS中雷达波扩散Layer层动画的实现
- 手游服务器微信互通,9月14日部分服务器数据互通公告
- NCT全国青少年编程能力等级测试教程(图形化编程、Python语言编程)
- 60种提升自身能量的方法
- 如何从外网访问校园内网
- 关于出现 linux Table is marked as crashed and should be repaired
- 【java】eclipse
- salt-stack部署
热门文章
- 一元三次方程求解(枚举)
- 绝对值的计算(自用)
- vuex Loding加载..
- 成功帮我拿3家大厂offer(阿里、美团、虾皮),这份Java面试宝典,简直神了
- cesium 设置时间_Cesium 车辆跟踪事件气泡弹窗一直开启
- Unity 的 Scroll View组件
- Wav2KWS: Transfer Learning From Speech Representations for Keyword Spotting(2021)
- java通过SMS短信平台实现发短信的功能
- [manacher][hash]Magic Spells 2022牛客多校第9场 G
- Excel如何给单元格添加下拉选项?实用小技巧!怎样给单元格加入下拉列表?