目录

1.SQL的表格join连接方式

(1)解释说明

(2)语法:tableA inner|left|right|full join tableB on (s)>

即 tableA inner|left|right|full join tableB on <连接字段>

2.left join函数的实例

(1)用法:从另一张表中获取目标列信息进行拼接。

(2)实例


1.SQL的表格join连接方式

(1)解释说明

inner join:内连接/交集连接,意思是两个表格都有的行才返回行数据。

left join:左连接,左表A和右表B连接,只要A表有就返回行数,B表没有对应位置则返回空值。

right join:左连接,左表A和右表B连接,只要B表有就返回行数,A表没有对应位置则返回空值。

full join:全连接/并集连接,左表A和右表B连接,只要A/B有则返回行数,没有的位置对应返回为空值。

(2)语法:tableA inner|left|right|full join tableB on <joint_column(s)>

即 tableA inner|left|right|full join tableB on <连接字段>

joint_column:连接字段/共同字段,一般用唯一且具有代表性两个表共有的字段作为连接字段,是指用于连接两个表的连接字段。比如一个学生信息表与成绩表连接一般用唯一且共同字段即学号ID来连接。

注意:一般情况下,为了节省运行时间以及输出表格数据内存,同时为了获取目标结果,采用left join语法即可解决大部分问题。


2.left join函数的实例

(1)用法:从另一张表中获取目标列信息进行拼接。

类似于Excel中的VLOOKUP函数映射信息

(2)实例

现有三张表,一张表是学生信息情况表student,主要字段是学号ID,姓名name,年龄age,班级class等其它学生信息;一张表是学生选课表course,主要字段有学号st_ID,课程号ID以及选课情况;一张是课程成绩表score,主要字段是课程号ID,语数英成绩分别为Chinese,math,English。

例1:获取学生选课情况的成绩。直接将学生选课表course和课程成绩表score左连接获取。

select *
from course
left join score on course.ID = score.ID

例2:获取学生所有信息,包括学生个人信息以及选课情况的成绩。将三个表左连接起来。

select *
from student
left join course on student.ID=course.st_ID
left join score on course.ID = score.ID

例3:在例2的基础上进行调整,只是获取学生部分信息以及个别门课成绩,包括学生学号、姓名、年龄、班级、math成绩。

select student.ID as ID,name,class,math
from student
left join course on student.ID=course.st_ID
left join score on course.ID = score.ID) as table

注意:从多个表获取数据时,若需要获取的字段名在多个表都存在,无法确认从哪个表获取,需要指定表名即表名.字段,否则会报错。

SQL的表格之间的join连接方式——inner join/left join/right join/full join语法及其用法实例相关推荐

  1. MySQL内连接方法_Mysql常用的几种join连接方式

    1.首先准备两张表 部门表: 员工表: 以下我们就对这两张表进行不同的连接操作 1.内连接 作用: 查询两张表的共有部分 语句:Select from tableA A Inner join tabl ...

  2. Mysql常用的几种join连接方式

    1.首先准备两张表 部门表: 员工表: 以下我们就对这两张表进行不同的连接操作 1.内连接 作用: 查询两张表的共有部分 语句:Select <select_list> from tabl ...

  3. mysql一图秒懂秒清晰 - join连接 ,left join左连接 ,right join右连接 ,inner join内连接

    前言:zuo表和you表短短五行涵盖了数据中所有可能遇见的情况: 1.左表有重复值(合同号=1134): 2.右表有重复值(合同号=1133): 3.左表存在右表没有的合同号(合同号=1188): 4 ...

  4. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  5. 深入理解Oracle表(5):三大表连接方式详解之Hash Join的定义,原理,算法,成本,模式和位图

    Hash Join只能用于相等连接,且只能在CBO优化器模式下.相对于nested loop join,hash join更适合处理大型结果集        Hash Join的执行计划第1个是has ...

  6. 表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN

    表连接方式及使用场合 NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查 ...

  7. SQL JOIN连接分类[转]

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符):包括相等联接和自然联接: 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行:      2.外联接.外联接 ...

  8. 表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN【转】

    表连接方式及使用场合 NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查 ...

  9. oracle 非等值关联 优化,Oracle优化器、优化模式、表的连接方式(Hash Join、Nested Loop、Sort Merge Join)...

    查询优化器 Oracle的查询优化器(QO)分为两种: 1. RBO:Ruled-Based Optimization, 基于规则的优化器: 2. CBO :Cost-Based Optimizati ...

最新文章

  1. 《Python语言程序设计》——2.10 增强型赋值运算符
  2. mybatis入门-第一个程序
  3. 在Ubuntu 14.04 TLS下openvas V8.0源代码安装过程
  4. 1024程序猿节:揭秘腾讯老中青三代程序猿工位
  5. java转python推荐算法_java和python实现一个加权SlopeOne推荐算法
  6. 设置最小值_WELSIM中设置有限元计算结果的最大最小值
  7. 搞计算机,还是需要高配且专业的笔记本(这个名字好像是有点像广告贴了哈)...
  8. 计算机信息处理工具教案设计,高一信息技术《现代信息处理工具》教案
  9. RestClient 访问elasticsearch
  10. 保险丝的常用规格型号及主要参数说明
  11. 键盘按d就计算机,电脑为什么一按D就返回桌面?一按M也回桌面、按L直接待机了?:excle按d就返回桌面...
  12. oracle截取日期函数
  13. Android crackme签名漏洞,CrackMe160之第一个,分析算法并写出注册机!
  14. Paramiko和MySQL相关-day10
  15. 微机接口实验一 :8255并行接口实验
  16. Python for Data Analysis:Numpy
  17. 基于360SafeDemo对duilib整体框架的概述
  18. cms php vue 开源_lucms - vue 与 Laravel 开发的后台管理系统
  19. 2023.04.27 QT 制作文本编辑器
  20. 华为鸿蒙系统智能手机_Android再见!华为42款智能手机将兼容鸿蒙操作系统

热门文章

  1. 3GPP R17 RedCap
  2. linux下如何使用 tcpdump 进行抓包详细教程
  3. 拼多多快速积累有效评价的途径有哪些?拼多多出评助手
  4. 基于CNN的MINIST手写数字识别项目代码以及原理详解
  5. Android 蓝牙 OPP文件传输-Obex协议连接-socket连接 从framework到协议栈btif层 --- 全网最详细(一)
  6. 万魔和南卡降噪耳机哪个好?500元内高性价比蓝牙耳机测评
  7. 【C语言游戏】三子棋完整代码和正确结果截图
  8. 苹果发布iOS13beta5测试版/资源神器修复,以上为今日内容
  9. Confluence 6 设置其他页面为你空间的主页
  10. 虚拟机安装Ubuntu操作系统(详细安装教程)以及快照创建使用