加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

数据库基础之SQL子查询和子句

发布时间:2022-12-20 13:34:39 所属栏目:MySql教程 来源:转载
导读: 【本文详细介绍了数据库的基础知识之SQL子查询和子句,欢迎读者朋友们阅读、转发和收藏!】
1 基本概念1.1 子查询
当一个查询是另一个查询的条件时,称之为子查询。
子查询可以使用几个简单

【本文详细介绍了数据库的基础知识之SQL子查询和子句,欢迎读者朋友们阅读、转发和收藏!】

1 基本概念1.1 子查询

当一个查询是另一个查询的条件时,称之为子查询。

子查询可以使用几个简单命令构造功能强大的复合命令。

子查询最常用于 SELECT-SQL 命令的 WHERE 子句中。

子查询是一个 SELECT 语句,它嵌套在一个 SELECT 、 SELECT...INTO 语句、 INSERT...INTO 语句、 DELETE 语句、或 UPDATE 语句或嵌套在另一子查询中。

语法

可用三种语法来创建子查询:

comparison [ANY | ALL | SOME] (sqlstatement)

expression [NOT] IN (sqlstatement)

[NOT] EXISTS (sqlstatement)

子查询可分为以下几个部分:

? Comparison :一个表达式及一个比较运算符,将表达式与子查询的结果作比较。

? Expression :用以搜寻子查询结果集的表达式。

? Sqlstatement : SELECT 语句数据库查询操作,遵从与其他 SELECT 语句相同的格式及规则。它必须括在括号之中。

说明

可以拿子查询代替表达式用于 SELECT 语句字段表或 WHERE 或 HAVING 子句。在子查询之中,在 WHERE 或 HAVING 子句的表达式中,用于计算的特定值是由 SELECT 语句提供的。

疾病库数据_python文件操作 库_数据库查询操作

1.2 子句查询1.2.1 group by 子句 语法

SELECT column1, SUM(column2) FROM " 表名 " GROUP BY "column-list";

这个 GROUP BY 子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算一个或者多个列。

示例:

假设我们将从 employee 表中搜索工资最高的列,可以使用以下的 SQL 语句:

SELECT max(salary), dept FROM employee GROUP BY dept;

这条语句将在每一个单独的部门中选择工资最高的工资。结果他们的 salary 和 dept 将被返回。

1.2.2 HAVING 子句语法

下面先给出 HAVING 子句的语法:

SELECT column1, SUM(column2)

FROM "list-of-tables"

GROUP BY "column-list"

HAVING "condition";

这个 HAVING 子句允许你为每一个组指定条件,换句话说,可以根据你指定的条件来选择行。如果你想使用 HAVING 子句的话,它应该处再 GROUP BY 子句之后。

1.2.3 ORDER BY 子句语法

SELECT column1, SUM(column2)

FROM "list-of-tables"

ORDER BY "column-list" [ASC | DESC];

[ ] = optional

ORDER BY 是一个可选的子句,它允许你根据指定要 order by 的列来以上升或者下降的顺序来显示查询的结果。例如:

ASC = Ascending Order – 这个是缺省的

DESC = Descending Order

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!