分享知识-快乐自己:MYSQL之內链接 左链接 右链接 区别
MYSQL中可以通过内外键链接,将有关系的表中数据合并到一起进行条件筛选:
首先创建两个新表,数据如下:
student 表数据:

score 表数据:


可以看到students表中stu_id为16048008的记录对应score表没有数据;
1.当进行内连接时,系统会自动忽略两个表中对应不起来的数据:
-- 显示内连接所有数据:
SELECT * FROM students st INNER JOIN score sc ON st.sid=sc.stu_id;
数据太多,只截图最末尾的:

可以看到,数据只显示到16048007,16048008的并没有显示,所以内连接只显示所有有关联的数据.
2.左链接,显示关键词left左边表中的所有数据,右边表数据数据少了补NULL值,数据多了不显示;
-- 左外链接 left
SELECT * FROM students st LEFT JOIN score sc ON st.sid=sc.stu_id;

可以看到,16048008在右边score表中没有数据,系统用NUll补齐,
SELECT * FROM score sc LEFT JOIN students st ON st.sid=sc.stu_id;

上图是我们将students表和score表换了一下位置的运行结果,可以看出,本来右边表16048008记录,因为在左边表钟没有数据对应,所以被删除了,可以看出,左链接是以左边表中数据为参照,显示左边表中所有数据,右边表,只显示与左边表对应的数据,少了补NULl,多了删除;
同理,右链接是以右边为参照,左边少了补NULL,多了删除,这里就不多说了;
以上可以得出:
1.内连接,显示两个表中有联系的所有数据;
2.左链接,以左表为参照,显示所有数据;
3.右链接,以右表为参照显示数据;
分享知识-快乐自己:MYSQL之內链接 左链接 右链接 区别的更多相关文章
- my sql 下左连接 右链接、内连接等应用,INNER JOIN LEFT JOIN RIGHT JOIN
1.数据准备 建两个表格: create table student (idstu int, namestu ) ); ,"张三")(,"李四"),(,&quo ...
- PHP等值判断中,常量与变量在左在右的区别
在平时写代码过程中,经常会用到判断变量与常量相等的情况,比如if($a==1){…..} 或者if(1==$a) ,从执行效率上来说,1==$a比 $a==1的效率更高. 这个写法的另一个好处,当使用 ...
- mysql左连接 右连接 内连接的区别
mysql左连接 右连接 内连接的区别 1.内连接,显示两个表中有联系的所有数据; 2.左链接,以左表为参照,显示所有数据,右表中没有则以null显示 3.右链接,以右表为参照显示数据,,左表中没有则 ...
- 【转】MYSQL数据库四种索引类型的简单使用--MYSQL组合索引“最左前缀”原则
MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制.它有以下几种创建方式: 创建索引 ...
- 迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)
Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...
- MySQL SELECT表达式的执行顺序是从左往右依次执行
例子如下:(确保这几个变量都是初次使用,因为mysql的用户自定义变量会在整个连接session中存在) ,,; +--------+-------+---------+-------+ | +--- ...
- Python --链接MYSQL数据库与简单操作 含SSH链接
项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑 现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...
- windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑
1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...
- c#实现数据的左补右补功能
/// <summary> /// 左補右補功能 /// </summary> /// <param name="st ...
随机推荐
- django--博客系统--后台管理
1.后台管理功能主要实现了,文章的添加与修改,以及富文本的使用 前端页面 母版 <!DOCTYPE html> <html lang="en"> <h ...
- 在Mac OS X使用Elasticsearch的基本流程
这篇日志的目的非常easy,就是记录一些主要的流程.要在OS X上使用Elasticsearch,事实上非常easy,在这里:https://www.elastic.co/downloads/elas ...
- Parcel
1.IPC解决方案 而非 序列化机制 Container for a message (data and object references) that can be sent through an ...
- Android ViewGroup onInterceptTouchEvent
public boolean onInterceptTouchEvent (MotionEvent ev) Implement this method to intercept all touch s ...
- Hadoop家族学习路线图-张丹老师
前言 使用Hadoop已经有一段时间了,从开始的迷茫,到各种的尝试,到现在组合应用….慢慢地涉及到数据处理的事情,已经离不开hadoop了.Hadoop在大数据领域的成功,更引发了它本身的加速发展.现 ...
- java多线程总结(一)
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: 1 2 3 4 5 6 7 8 9 10 11 ...
- hadoop源码分析
hadoop 源代码分析(一) Google 的核心竞争技术是它的计算平台.HadoopGoogle的大牛们用了下面5篇文章,介绍了它们的计算设施. GoogleCluster:http://rese ...
- windows vs 编译tesseract-ocr
第一把所有相关的代码都下载,github最方便 https://github.com/tesseract-ocr/tesseract 要点1.cppan c++的中文管理包,很方便,需要翻-墙,安装包 ...
- 20145219 《Java程序设计》实验五 Java网络编程及安全实验报告
20145219 <Java程序设计>实验五 Java网络编程及安全实验报告 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 我和2 ...
- 20145219 《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)实验报告
20145219 <Java程序设计>实验一 Java开发环境的熟悉(Windws + IDEA)实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA 编辑. ...