Join

数据库中的表可以通过键将彼此联系起来,主键是一个列,在这个列中的每一行的值都是唯一的,在表中,每个主键的值都是唯一的,这样就可以在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

以下为表user和表Room的数据

    

1:引用两个表

找出在Room of boy相关联的用户信息

Select u.user_name,u.user_age,r.room_name from user as u,room as r 

Where u.room_id = r.room_id and r.room_name='room of boy'

2:使用关键字join来连接两张表

Select u.user_name,u.user_age,r.room_name

from user as u

join room as r

on u.room_id = r.room_id and r.room_name='room of boy'

Inner join

Inner join 与 join 用法一致

Select u.user_name,u.user_age,r.room_name

from user as u

inner join room as r

on u.room_id = r.room_id and r.room_name='room of boy'

Left join

注意:左连接以左边的表为主体,也就是说会列出左边的表中的所有的数据,无论它是否满足条件。

1:user在左边

Select u.user_name,u.user_age,r.room_name

from user as u

Left join room as r

on u.room_id = r.room_id and r.room_name='room of boy'

2:Room在左边

Select u.user_name,u.user_age,r.room_name

From room as r

Left join user as u

on u.room_id = r.room_id and r.room_name='room of boy'

Right join

注意:左连接以右边的表为主体,也就是说会列出左边的表中的所有的数据,无论它是否满足条件。

1:Room在右边

Select u.user_name,u.user_age,r.room_name

from user as u

Right join room as r

on u.room_id = r.room_id and r.room_name='room of boy'

2:user在右边

Select u.user_name,u.user_age,r.room_name

from  room as r

Right join user as u

on u.room_id = r.room_id and r.room_name='room of boy'

Full join

1:user在左边

Select * from user Full join room

2:Room在左边

Select * From room full join user

注意:SQL错误码1054表示没有找到对应的字段名;错误码1064表示用户输入的SQL语句有语法错误

希望能对大家有所帮助。

SQL基础【十五、join、Inner join、Left join、Right join、Full join】相关推荐

  1. Python基础十五:面向对象编程四:高级特性

    Python基础十五:面向对象编程四:高级特性 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Em ...

  2. MySQL的SQL基础(五)

    文章目录 1. 单表查询 1.1 having 语句 1.2 order by 应用 1.3 limit 应用 2. select 多表连接查询 2.1 多表连接查询作用 2.2 多表连接查询类型 2 ...

  3. SQL 基础(五)数据查询实战演练一

    根据数据库 db_Book 中的 tb_BookInfo 表.tb_ReaderInfo 表.tb_BookType 表.tb_LentInfo 表,完成下列查询操作 表结构 任务题解 任务一 查询 ...

  4. 十五、PHP框架Laravel学习笔记——构造器的 join 查询

    一.join 查询 使用 join 实现内联接的多表查询,比如三张表进行 inner join 查询: $users = DB::table('users') ->join('books', ' ...

  5. SQL基础(五)-- 递归

    递归一般出现在树形结构中  根据父节点查找所有的子节点: With T As ( SELECT * FROM OverseaECommerceManagement.dbo.ProductReview_ ...

  6. plsql 循环存储过程返回数据集合_Java基础(十五)——Collection集合、泛型 - 寒江雨

    Collection集合 集合概述 集合:集合是Java中提供的一种容器,可以用来存储多个数据 数组的长度是固定的,集合的长度是可变的 数组中存储的是同一种数据类型的元素,可以存储基本数据类型也可以存 ...

  7. 弱引用使用场景桌面_吃透Java基础十五:强引用、软引用、弱引用、虚引用

    本文首发CSDN博客地址:https://blog.csdn.net/u013277209?viewmode=contents 前言 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就 ...

  8. SQL基础【五、Where】

    1:查询user_id等于1 的数据 Select * from user where user_id = 1   2:查询user_age大于等于12的数据 Select * from user w ...

  9. flink sql 知其所以然(十五):改了改源码,实现了个 batch lookup join(附源码)

    看了那么多的技术文,你能明白作者想让你在读完文章后学到什么吗? 大数据羊说__的文章会让你明白 大数据羊说 用数据提升美好事物发生的概率~ 44篇原创内容 公众号 博主会阐明博主期望本文能给小伙伴们带 ...

  10. 2021年大数据Flink(四十五):​​​​​​扩展阅读 双流Join

    目录 扩展阅读  双流Join 介绍 Window Join Interval Join ​​​​​​​代码演示1 ​​​​​​​代码演示2 重点注意 扩展阅读  双流Join 介绍 https:// ...

最新文章

  1. 初步了解超图桌面版导入CityGML数据
  2. 基线是什么意思_需求工程在项目管理中有什么作用?
  3. 16进制数组转成10进制 qt_QT 十六进制字符串转化为十六进制编码
  4. pep8 python 编码规范_编码规范的重要性
  5. 如何用Pygame写游戏(十一)
  6. mysql多条件批量查询,且数据量大分批查询
  7. java 调用存储过程structdescriptor_Spring SimpleJdbcCall如何在存储过程调用中为oracle STRUCT指定模式...
  8. matlab 自动交易系统设计3
  9. 三年开发三年管理,三个月努力5A成绩通过PMP就在51CTO!
  10. 可用等式为:html+java=jsp表示jsp[8]._在 JSP 中 , 对 jsp:setProperty 标记描述正确的是 ()_学小易找答案...
  11. 百度网盘python客户端——筑梦之路
  12. Java反射专题笔记
  13. 杂谈(1)--人生必知的78种经典效应
  14. Dynamic ODT
  15. 误差反向传播法实现手写数字识别(纯numpy实现)
  16. springbootadmin 客户端监控配置
  17. Java对Excel表格的操作
  18. 【GPGPU编程模型与架构原理】第一章 1.1 GPGPU 与并行计算机
  19. QT 获取本机IP地址 子网掩码 网卡
  20. 国产化服务器挂载硬盘,首个国产主控存储:光威弈Pro固态硬盘体验

热门文章

  1. 机器学习基础-最近邻规则分类 KNN (K-Nearest Neighbor)-11
  2. 荣耀v30pro搭载鸿蒙吗,荣耀麒麟30pro+,可以搭载鸿蒙的顶级荣耀,你买了吗?...
  3. java 获取文件版本号_Java 获取资源文件路径
  4. python 深度 视差 计算_OpenCV-Python教程:49.立体图像的深度图
  5. Host 'controller' is not mapped to any cell
  6. 如何用chrome查看post get及返回的数据
  7. MySQL的基本语法
  8. BZOJ-2324 营救皮卡丘 最小费用可行流+拆下界+Floyd预处理
  9. Resharper 的快捷键
  10. web service notes