iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库子查询语法规则是什么
  • 419
分享到

MySQL数据库子查询语法规则是什么

2024-04-02 19:04:59 419人浏览 薄情痞子
摘要

这篇文章主要介绍“Mysql数据库子查询语法规则是什么”,在日常操作中,相信很多人在mysql数据库子查询语法规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysq

这篇文章主要介绍“Mysql数据库子查询语法规则是什么”,在日常操作中,相信很多人在mysql数据库子查询语法规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库子查询语法规则是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MySQL数据库子查询语法规则是什么

子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系。此时我们就需要先查询一组数据的结果集,然后将这个结果集作用为下一个查询的对象。在 “表连接的章节”,我们曾说过子查询的效率低下的问题,其实并不是所有的子查询效率都是低下的,“WHERE” 子查询在匹配记录的时候要反复执行,这是不推荐使用的;但是如果将查询结果集当做一张表来使用,与其他的表做一个连接,这就是 “FROM” 子句的子查询了,这种子查询的方式,还是比较推荐使用的。

子查询简介

子查询是一种查询语句中再嵌套一个查询的语句

普通查询语句分为 “SELECT” 子查询、“FROM” 子查询、“WHERE"子查询;(重点推荐使用 " ‘FROM’ 子查询”)

子查询示例如下:

查询底薪超过公司平均底薪的员工信息。(之前我们使用过表连接的方式做个这个案例,这里来看一下如何通过子查询的方式来实现。)

SELECT
    empno, ename, sal
FROM 
    t_emp
WHERE
    sal >= (SELECT AVG(sal) FROM t_emp);
    
-- 正常情况下,将聚合函数作为 WHERE 子句的条件是不可以的,但是这里利用子查询与聚合函数先将平均底薪查询出来,这就变成具体的数据了
-- 这种情况下,作为 WHERE 子句的条件,就可以被使用了

MySQL数据库子查询语法规则是什么

以上就是 WHERE 子句的子查询,不过 WHERE 子句的子查询使不推荐使用的,应该使用表连接的写法。

WHERE 子查询

在书写 SQL 语句的时候, WHERE 子查询最符合我们人的思考逻辑

虽然这种 子查询 最简单、最容易理解,但是却是效率很低的子查询

以刚刚演示的 查询底薪超过公司平均底薪的员工信息 来说吧。“WHERE” 子句拿每一条员工的记录与 “SELECT” 子查询做比较的时候,子查询都需要重新执行一次。如果员工表有 10000 条记录,那么 子查询 就需要执行 10000次,反复执行这么多次,效率上是极其低下的。

MySQL数据库子查询语法规则是什么

在查询语句中,反复被查询的子查询被称为 “相关子查询”,这里的 “WHERE” 子查询就属于 “相关子查询” 应该避免使用这种子查询。

FROM 子查询

在查询语句中, “FROM” 子查询只会执行一次,这与 “WHERE” 子查询是相反的,所以查询效率很高。

同样以 查询底薪超过公司平均底薪的员工信息 为例,来看一看 “FROM” 子查询是如何实现的。

SELECT
    e.empno, e.ename, e.sal, t.avg
FROM t_emp e 
JOIN (SELECT deptno, AVG(sal) AS avg FROM t_emp GROUP BY deptno) t
ON e.deptno = t.deptno 
AND e.sal >= t.avg;

-- 首先,按照每一个部门编号去分组,然后统计部门标号与该部门对应的平均月薪。将这个结果集作为一张临时的表与员工的表做连接。
-- 连接的条件为 "员工表" 的 "部门编号" = "结果集" 的 "部门编号",并且员工的月薪大于部门的平均月薪

MySQL数据库子查询语法规则是什么

所以这个题目利用 "FROM" 子查询也可以轻松的实现,未必要使用 "WHERE" 子查询。因为 "FROM" 子查询并不是 相关子查询,所以再解决一些问题的时候应该有限选择这种子查询类型。

SELECT 子查询

说一句实在的,这种子查询在我目前经历的所有项目中,一次也没见到过。

究其原因呢,是因为 “SELECT” 子查询也是相关子查询,它在SQL语句中也会反复的执行,查询效率很低。

这里我们就举个例子:比如说现在要查询每个员工的部门信息,

SELECT
    e.empno,
    e.ename,
    (SELECT dname FROM t_dept WHERE deptno = e.deptno) AS 部门名称
FROM t_emp e;

-- 先试用 "SELECT" 子查询查询出 "部门表" 中的部门名称,约束条件为 "部门表"中的 "部门编号" 与 "员工表"中的 "部门编号" 一致
-- 将 "SELECT" 子查询得到的 "部门名称" 作为SQL语句中的一个字段进行输出

MySQL数据库子查询语法规则是什么

虽然执行出来的结果是对的,但是执行的效率实在是太低了,所以这种 "SELECT" 子查询的方式也是不推荐使用的,了解即可,当我们看到有其他人使用 "SELECT" 子查询的时候,最好善意的提醒一下。

到此,关于“MySQL数据库子查询语法规则是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库子查询语法规则是什么

本文链接: https://www.lsjlt.com/news/73977.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库子查询语法规则是什么
    这篇文章主要介绍“MySQL数据库子查询语法规则是什么”,在日常操作中,相信很多人在MySQL数据库子查询语法规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQ...
    99+
    2024-04-02
  • SQL Server子查询的规则是什么
    这篇文章主要介绍“SQL Server子查询的规则是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL Server子查询的规则是什么”文...
    99+
    2023-04-21
    sql server
  • MySQL数据库子查询 sub query
    目录1、基本概念1.1、子查询1.2、主查询1.3、子查询和主查询的关系1.4、子查询的分类2、标量子查询2.1、基本语法2.2、示例3、列子查询3.1、基本语法3.2、示例4、行子...
    99+
    2024-04-02
  • mysql数据库子查询的实例用法
    本篇内容介绍了“mysql数据库子查询的实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#查询和Zl...
    99+
    2024-04-02
  • MySQL数据库中的varchar限制规则是什么
    这篇文章主要介绍“MySQL数据库中的varchar限制规则是什么”,在日常操作中,相信很多人在MySQL数据库中的varchar限制规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • mysql数据库查询优化的方法是什么
    MySQL数据库查询优化的方法包括以下几个方面: 创建索引:通过在查询涉及的列上创建索引,可以大大提高查询的性能。可以使用CREA...
    99+
    2024-04-02
  • mysql数据库分页查询的方法是什么
    MySQL数据库分页查询的方法是使用LIMIT关键字来限制查询结果的返回行数。LIMIT子句可以在SELECT语句中使用,其...
    99+
    2023-08-30
    mysql数据库
  • mysql数据库查询语句的写法
    这篇文章将为大家详细讲解有关mysql数据库查询语句的写法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据库查询语句的写法:【SELECT select_lis...
    99+
    2024-04-02
  • sqlserver数据库排序规则是什么
    SQL Server数据库中的排序规则是一种用于确定字符串排序顺序的规则集。排序规则定义了字符串在进行比较和排序时的顺序。SQL S...
    99+
    2024-04-09
    sqlserver
  • mysql查询数据库的命令是什么
    当使用 MySQL 查询数据库时,可以通过 SELECT 语句来检索数据。以下是一个更详细的示例: 查询单个列数据 SELE...
    99+
    2024-03-11
    mysql 数据库
  • css3语法规则是什么
    这篇文章主要介绍“css3语法规则是什么”,在日常操作中,相信很多人在css3语法规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css3语法规则是什么”的疑惑有所帮...
    99+
    2024-04-02
  • VB.NET语法规则是什么
    这篇文章将为大家详细讲解有关VB.NET语法规则是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。列举了3个实例了解语法规则的规律。VB.NET语法规则实例1:同 Integer 类型的变量比较&nbs...
    99+
    2023-06-17
  • SQL Server函数语法规则是什么
    SQL Server函数的语法规则如下:1. 函数名称必须是唯一的,并且在同一个数据库中不能重复使用。2. 函数名称必须以字母开头,...
    99+
    2023-09-22
    SQL Server
  • mysql中查询数据的语句是什么
    mysql 中查询数据的语句是 select 语句,它用于从表中检索指定的行和列数据。语法为:select column_list from table_name [wher&...
    99+
    2024-05-01
    mysql 聚合函数
  • mysql查询数据的方法是什么
    要查询数据,可以使用以下语法: SELECT column1, column2, ... FROM table_name W...
    99+
    2024-04-09
    mysql
  • C++ 函数的语法规则是什么?
    c++++ 函数的语法格式为:returntype functionname(parameterlist) {}, 包括返回类型、函数名称和参数列表三个组成部分。具体函数调用示例为计算阶...
    99+
    2024-04-18
    c++ 函数语法
  • hadoop数据库查询数据的方法是什么
    Hadoop数据库查询数据的方法通常是通过Hive进行数据查询。Hive是一个数据仓库系统,它可以将结构化的数据文件映射成一张数据库...
    99+
    2024-03-04
    hadoop
  • 怎么在MySql数据库中实现子查询
    这篇文章给大家介绍怎么在MySql数据库中实现子查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MySql数据库中的子查询:子查询:在一条select查询语句中嵌套另一条s...
    99+
    2024-04-02
  • sqlserver数据库查询的方法是什么
    在SQL Server数据库中,通常使用SQL语句来查询数据。以下是一些常用的查询语句: 查询单个字段: SELECT ...
    99+
    2024-04-09
    sqlserver
  • mysql数据库查询语句怎么写
    mysql 查询语句是一组用于从数据库中检索数据的命令,基本语法包括:选择列名 (select)、指定表名 (from)、添加条件 (where)、分组数据 (gro...
    99+
    2024-04-22
    mysql 排列
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作