IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL 数据库之单表查询 -> 正文阅读

[大数据]MySQL 数据库之单表查询

1. 概述

单表查询是只对一个数据表进行查询操作,是其他查询的基础;

2. 单表查询命令

查询数据表的 SQL 命令为 SELECT,语法格式如下:

SELECT [ALL|DISTINCT] <列名> [[AS] <列别名>] [, N]
FROM <表名> [[AS] <表别名>]
[WHERE <条件1>]
[GROUP BY <列名1> [HAVING <条件2>]]
[ORDER BY <列名2> [ASC|DESC]]

命令说明:

  1. SELECT 语句的执行过程为:根据 WHERE子句的条件从FROM子句指定的数据表中选取满足“条件 1”的元组,再按照SELECT 指定的列,投影得到所查询的结果表;若有 GROUP BY 子句,则将查询结果按照“列名 1”进行分组,若后面有HAVING 子句,则只输出满足“条件 2”的元组;若有ORDER BY子句,查询结果还要根据“列名 2”的值进行排序;
  2. DISTINCT 关键字表示去掉重复值,当不需要此项操作时可使用 ALL关键字或省略;
  3. 当查询数据表中全部列时,可在“<列名>”处使用“*”符号;
  4. AS 关键字表示数据表或其中的属性以设置的别名显示,当不需要此项操作时可将其省略;
  5. ASC 关键字表示升序,DESC关键字表示降序,省略时默认为升序;

2. 无条件查询与条件查询

2.1 无条件查询

无条件查询指只包含 SELECT FROM关键字查询,相当于只对关键做投影操作;
**注意:**无条件查询与关系代数中的投影操作有一点不同,投影操作会消去结果中的重复行,而无条件查询时必须加上 SISTINCT 关键字,否则将输出所有元组;

例子:从数据表 B 中查询所有学生的学号、姓名、性别、年龄;

SELECT ID,Name,Sex,Age
from B

20220129查询数据表 N 中的属性 ID,Name,Sex,Age,其中包含了数据表 S 的主码,不需要附加 DISTINCT
关键字啊;

2.2 条件查询

条件查询指使用了 WHERE子句的查询; WHERE子句指定的条件通常由 3 部分组成,分别是列名、运算符和常数;
20220129
查询条件说明:

  1. 比较查询
    例子:从数据表 B 中查询年龄大于 15 岁的学生
SELECT *
FROM B
WHERE Age>15

20220129
SELECT后用“*”表示选数据表B中的所有元素;在 WHERE子句中使用比较运算符构造查询条件,输出满足条件的元组;

  1. 多重条件查询
    例子:从数据表 O中查询 ID 为 ‘2022090102’ 并成绩高于80分的学生的学号与成绩;
select 课程,ID,成绩
from O
where ID='2022090102' and 成绩>70

20220129

AND 关键字可以用来连接两条语句表示并列关系;
注意:AND关键字的优先级高于OR,但能用 “()”将部分括起来,改变它们之间的优先级;

  1. 确定范围查询

BETWEEN AND表示“包含于······之中”,用来查询属性值在指定范围内的元组;

  1. 确定结合查询
    IN表示查询属性值属于指定集合的元组;

  2. 字符匹配查询
    当查询条件无法确定精确的值时,可使用 LIKE关键字进行匹配查询;
    语法格式如下:<列名> LIKE <字符串常量>
    <列名> 中指定的列的数据类型必须为字符型;<字符串常量>中的字符串使用功能通配符时,对数据进行模糊查询;当不使用通配符时,LIKE相当于“=”20220129

  3. 空值查询
    不同于零和空表,空值不占用任何存储空间;
    IS NOT NULL 表示查询某属性不为空的元组;

3. 聚集函数

SQL 中提供的聚集函数增强了期数据查询能力;
20220129
注意:

  1. 使用 COUNT(*)函数时,无法使用 DISTINCT关键字消去重复行;
  2. 使用函数查询数据时,若不设置列别名,输出结果的列名将显示为“(无列名)”

4. 分组查询

分组查询是指使用 GROUP BY子句的查询, GROUP BY子句表示将查询结果按相同的一个或多个列值进行分组;
以聚集函数为例,若没有使用 GROUP BY子句,聚集函数将作用于整个数据表,而使用了 GROUP BY子句中,聚集函数分别作用于每个组;
例子:从数据表 B 中查询 工商的学生人数;

select b,COUNT(ID) as Num
from B
group by b 

20220129
使用 GROUP BY子句将差选结果按照属性 b 进行了分组,使用 COUNT函数可分别计算各组中列值的个数,并用 AS关键字将它们以列别名为新列名输出查询结果;
提示: 分组查询时,SELECT语句指定的每一列都应包含在 GROUP BY子句中,除非对这一列使用聚集函数;因为在使用 GROUP BY子句对 SELECT后的多个列中的某一列进行分组时,可能会在其他列出现多个数据共同占用一个单元格的情况,这时 SQL Server 将会给出错误提示;聚集函数正是多个数据转换成单个数据输出的查询方式,所以聚集函数所调用的列可不包含在 GROUP BY子句中;

5. 排序查询

排序查询,即施使用 ORDER BY子句查询, ORDER BY子句表示对查询结果进行排序,施一公你是必须写在其他子句中,排序的方式可以指定为 DESC,ASC或省略;
例子:从数据表 B查询 ID,Name,并安装Age大小降序排序;

select ID,Name,Age as Ti
from B
order by Ti desc

20220129
注意: 只有 ORDER BY子句能调用列的别名;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:27:35  更:2022-03-16 22:29:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:46:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码