添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接


环境:

SQL工具(如Navicat,SQLyog)

MySQL驱动

全局总结:

  • 左连接:关注左边,右边没有就为空。
  • 右连接:关注右边,左边没有就为空。
  • 内连接:返回交集

必备:

两张或多张表格

mysql数据库左关联查询加条件运算减法 sql中左关联_内连接

一,知识学习(3W1H方法)

  • 1,what(左连接是什么)
  • LEFT JOIN 关键字会从左表 (stu) 那里返回所有的行,即使在右表 (book) 中没有匹配的行。
  • 2,where(左连接在哪里?代码上是怎么用的?用在哪里?)
  • LEFT JOIN是关键字 ,它的存在形式就是sql里
  • 代码用法
SELECT stu.sutname,book.booname
FROM stu
LEFT JOIN book
ON stu.stuid = book.bookid
  • 用在联表查询,多个有联系的表
  • 3,why(左连接,为什么要用左连接?用了它有什么效果?)
  • 多个表之间有一定的关系,比如A表是记录买书人的信息,B表是记录被买的书的信息(如价格,数量等),用左连接可以把AB两个表的信息联合成一个C表,C表可以显示谁买了书,买了多少数量,这样就可以把AB两个表中我们想知道的信息整合到一起,对内容一目了然
  • 4,how(左连接原理,它怎么工作的?)
  • 先查询出左表的内容,然后根据条件以左表的记录去查右表,查到几条显示几条,没有查到默认为null,查询的字段就是select中的字段贴到左表后.

二,练习

  • 自建数据表,写代码,保证代码准确,并且正确运行

mysql数据库左关联查询加条件运算减法 sql中左关联_字段_02

  • 查询结果

mysql数据库左关联查询加条件运算减法 sql中左关联_内连接_03

总结:

  • 个人认为
  • SELECT关键字后面,跟着是的查询出来要保留的属性字段;
  • FROM关键字后面,跟着表名(stu表),意思是以该表的属性字段(stu.stuid)为查询基准,该表属性字段对应被查询表(book表)属性字段(book.bookid)的全部查出来,没有即为null

仔细阅读并理解以上左连接介绍,最好动手操作一下,等你彻底理解左连接

右连接,内连接,其实都差不多,一通全通,接下来分别介绍一下

右连接:

什么是右连接:

  • RIGHT JOIN 关键字会从右表 (book) 那里返回所有的行,即使在左表 (stu) 中没有匹配的行。

右连接有什么作用:

  • 右连接可以帮我们在多表之间,把所需的内容按要求整合到一起,对结果一目了然

表格:

mysql数据库左关联查询加条件运算减法 sql中左关联_字段_04

右连接(RIGHT JOIN)实例:

现在,我们希望列出所有的书名,以及购买它们的人 - 如果有的话。

您可以在sql工具中使用下面的 SELECT 语句:

SELECT stu.sutname, book.bookname
FROM stu
RIGHT JOIN book
ON stu.stuid = book.bookid

结果集:

mysql数据库左关联查询加条件运算减法 sql中左关联_内连接_05

内连接:

什么是内连接?

  • INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 “stu” 中的行在 “book” 中没有匹配,就不会列出这些行

内连接有什么作用:

  • 内连接可以帮我们在多表之间,把所需的内容按要求整合到一起,对结果一目了然

表格:

mysql数据库左关联查询加条件运算减法 sql中左关联_sql_06

内连接(INNER JOIN)实例

现在,我们希望列出所有人的购书情况。

您可以使用下面的 SELECT 语句:

SELECT stu.sutname, book.bookname
FROM stu
INNER JOIN book
ON stu.stuid = book.bookid

结果集:

mysql数据库左关联查询加条件运算减法 sql中左关联_sql_07

还是那句话

  • 左连接:关注左边,右边没有就为空。
  • 右连接:关注右边,左边没有就为空。
  • 内连接:返回交集