首页 > 数据库 >mysql查询sql总结

mysql查询sql总结

时间:2023-01-31 16:33:11浏览次数:52  
标签:满足条件 join sql 查询 连表 mysql where id

连表查询

一文搞定MySQL多表查询中的表连接(join)

SELECT
	a.id ,
	b.server_id 
from
	release_record as a
	JOIN release_details as b
	on a.id =b.release_id 

解析:
连表查询的意思是,from后跟的表a为左表,join后面跟的表b为右表,on是条件,选择一张表作为驱动表去对比另外一张表,把满足条件的内容查出来,select字段表示要展示的字段。

  • 内连接
    [inner] join,选择一张表作为驱动表(具体选择哪张表会根据on和where的条件根据最优索引去选择)去对比另外一张表,假设在b表中有满足条件的数据就将连表查出来。select字段表示要展示的字段。假设select的字段和on where的字段都是索引,在查询的时候就不会回表,直接从索引里面吧数据查出来。

  • 左连接
    left join 以左表为驱动表。去对比另外一张表,假设在b表中有满足条件的数据就将连表查出来 再加上 b表中不满足条件的已null展示。

  • 右连接
    right join理论同左连接

  • 加上where条件
    把连表查询之后的数据再过滤一遍。

但是在实际执行当中,where的条件也会作为条件来选择驱动表 和 最佳索引。不仅仅是先连表查询再根据where条件过滤,表面上的现象是可以这么理解的。

标签:满足条件,join,sql,查询,连表,mysql,where,id
From: https://www.cnblogs.com/fanever/p/17079619.html

相关文章

  • Docker 安装 MySQL5.7
    1.拉取数据库镜像dockerpullmysql:5.7 dockerimages命令查看镜像是否下载成功dockerimages2.配置mysql创建mysql目录,用于存放mysql相关配置及数据mkdir-p......
  • 被面试官问住了,MySQL两阶段提交是什么鬼?
    “MySQL中既存在redolog,又存在binlog,这是因为BinLog是MySQLServer提供的一种归档日志,其本身并不具备Crash-Safe能力。而RedoLog本身不具备归档能力,他是一种循环写的日......
  • PowerShell SQLServer
    $Conectionstring="Server=.;Database=master;Trusted_Connection=True;"$sqlconnection=New-ObjectSystem.Data.SqlClient.SqlConnection$Conectionstring$sqlconn......
  • Postgresql 使用Vscode开发指南
    Postgresql使用Vscode开发指南dependslibrariessudoaptinstall-ylibsystemd-devlibxml2-devlibssl-devlibicu-devzlib1g-devlibreadline-devpkg-config编......
  • MysqlB树、B+树索引原理、性能优化原理、
    Mysql索引为什么选择B+树这种数据结构1、二叉树无法解决单边增长的问题。2、红黑树虽然可以通过节点旋转来达到节点自动平衡的问题、但无法有效控制树的高度。3、B树、B+......
  • mysql 数据导入导出命令详解
    一、导入导出场景及简单用法都是基于文本文件导入:mysqlimport-usystem-p-S/usr/local/mysql/data/mysql.socktest--fields-terminated-by=','/usr/local/mysql/tt3......
  • MySql中的指定顺序排序
    才发现MySQL中有个FIELD函数可以很方便的实现指定顺序排序。 语法:FIELD(value,val1,val2,val3,...)参数描述value必须。要在列表中搜索的值val1,val2,va......
  • php in_array 遍历,in_array大数组查询性能问题
    问题最近在实现一个项目接口的时候发现当数组过大的时候,数据返回的速度有点慢。接口数据返回最长反应时间2s,经过反复调试发现代码段耗时最长的部分在in_array()函数。解决......
  • SQL Server 判断字段中是否含有汉字/字母/数字
     【判断范围】①汉字:字段名称like‘%[吖-座]%’②字母:字段名称like‘%[a-z]%’③数字:字段名称like‘%[0-9]%’ 【unicode编码范围】①汉字:[0x4e00,0x9fa5](......
  • PostgreSQL学习笔记-3.基础知识:CROSS、INNER、LEFT OUTER、RIGHT OUTER、FULL OUTER、
    PostgreSQLJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。在PostgreSQL中,JOIN有五种连接类型:CROSSJOIN:交叉连接INNERJOIN:内连接LEFTOU......