MySQL——DQL的单表查询

目录

1、查询表中所有的字段(列)

2、查询表中指定的字段

3、去重查询

4、设置别名

5、限制查询结果的条数(分页查询)

6、对查询结果进行排序

7、单条件查询

8、多条件查询

9、模糊查询

10、空值查询

11、非空值查询

12、范围查询

13、in查询


1、查询表中所有的字段(列)

语法:select  *  from  表名;

* 是通配符,用来表示所有的字段(列)。

select 表示查询哪些列。

from 表示从哪张表中查询。

2、查询表中指定的字段

语法:select  列名1, 列名2, ..., 列名n  from  表名;

写的时候列的顺序可以与表中列的顺序一致,也可以不一致。

3、去重查询

去重指的是把查询结果中重复的值去掉,只保留一个值。

语法:select  distinct  列名  from  表名;

distinct 不同的,有区别的。

注意事项

  • 对多列去重,是对多列进行组合去重不是对每一列单独去重;
  • distinct 关键字只能写一个,而且要写在 要去重的第一个列名的前面。

4、设置别名

select  列名1  as  别名1, 列名2  as  别名2, ..., 列名n  as  别名n  from  表名  as  表的别名;

5、限制查询结果的条数(分页查询)

语法:select  *  from  表名  limit  初始位置 ,  要显示的数据的条数;

初始位置表示从哪一条数据开始显示,包括该位置初始位置比行号少1

要显示的数据的条数要显示几行数据,该值就是几。

6、对查询结果进行排序

语法:select  *  from  表名  order  by  列名排序方式;

排序方式有两种:升序和降序。

升序:从小到大,使asc来排序,asc是ascend(上升、升高)单词的缩写。

降序:从大到小,使用desc来排序,desc是descend(下来,下降)单词的缩写。

如果不写排序方式,默认是升序排序。

7、单条件查询

单条件指的是where后面跟了一个查询条件。

语法:select  *  from  表名  where  列名  比较运算符  值;

比较运算符:

  • > 大于
  • >= 大于等于
  • < 小于
  • <= 小于等于
  • != 或者 <> 不等于
  • = 等于

8、多条件查询

多条件指的是在where后面跟了多个查询条件,条件与条件之间要使用逻辑运算符进行连接。

select  *  from  表名  where  列名1  比较运算符  值1  逻辑运算符  列名2  比较运算符  值2;

逻辑运算符:

  • not 非,取反。 例如:not num > 20 等价于 num <= 20; 
  • and 且,表示多个条件都要成立,查询条件才是成立的;
  • or 或者,示多个条件只要有一个条件成立,查询条件就是成立的。

9、模糊查询

语法:select  *  from  表名  where  列名  like  字符串;

在模糊查询会使用到通配符。

(1)% (百分号通配符):用来匹配任意字符(包括中文、字母、标点符号、数字等)出现的任意次数(包括0次)。

eg:"q%w" 可以匹配:qw、q1w、q我爱中国w、qtw

(2)_ (下划线通配符):用来匹配任意字符只出现一次,不能多也不能少,只能是一次。

eg:"q_w" 可以匹配:q1w、q中w、qtw;不能匹配:qw、q中国w、q123w、qteetw

10、空值查询

在MySQL中要使用NULL关键字表示值为空。空值不是表示0,也不是表示空字符串。

语法:select  *  from  表名  where  列名  is null;

11、非空值查询

语法:select  *  from  表名  where  列名  is  not  null;

12、范围查询

范围查询需要使用到between and关键字来判断字段的值是否在两个值之间。

语法:select  *  from  表名  where  列名  between  起始值  and  终止值;

注意事项:

  • 起始值一定要小于终止值;
  • 包含起始值和终止值。

13、in查询

语法:select  *  from  表名  where  列名  in  (值1, 值2, ..., 值n);

将符合括号中值的数据全部查询出来,即会使用某列的值与括号中的值进行比较如果相等,就会查询出来。

<think> 首先,用户在问:"我想查找关于MySQL DQL的脑图",意思是他们要找一个关于MySQL DQL的思维导图。DQL是数据查询语言,主要用在MySQL中。 回顾系统级指令:我必须使用特定的格式,比如行内数学表达式用$...$,独立公式用$$...$$,但我现在处理的是MySQL查询,所以可能不需要数学表达式。重点是结构清晰,使用中文回答。 用户提供了几个引用: - 引用[1]:关于左连接、右连接和事务回滚。 - 引用[2]:提到MySQL思维导图和一些数据类型。 - 引用[3]:标题是"Mysql基础篇-02-DQL语言",内容涵盖了基础查询、条件查询、排序查询DQL内容。 - 引用[4]:一个具体的join查询例子。 用户上一次的问题似乎是在谈论MySQL DQL脑图,但从引用看,用户可能是在模拟一个场景或引用站内内容。 我的角色是尽可能参考用户上一次的问题和回答,但这里是用户第一次直接问这个问题,所以我要基于引用回答。 关键点是引用[2]和[引用[3]: - 引用[2]说:"mysql数据库——思维导图",并提到了CREATE TABLE语句。 - 引用[3]标题是"DQL语言",非常相关。 我应该聚焦在为用户提供MySQL DQL的脑图。既然引用[3]详细列出了DQL的各种部分,如基础查询、条件查询等,我可以基于这个结构化一个脑图。 脑图(mind map)通常是一个视觉化的结构,展示主题和子主题。所以我需要用文本描述一个脑图结构。 结构化的回答: - 介绍MySQL DQL。 - 然后提供一个脑图大纲。 - 基于引用[3]的内容组织。 脑图大纲: - 核心:MySQL DQL - 分支: 1. 基础查询:语法、特点、案例 2. 条件查询:语法、筛选条件分类、逻辑运算符、模糊查询 3. 排序查询:语法、特点 4. 常见函数:概述、单行函数(字符、数学、日期等)、分组函数、流程控制函数 5. 分组查询:语法、特点 6. 连接查询:含义、分类(如左连接、右连接)、举例 7. 子查询:含义 8. 分页查询:语法、案例 9. 联合查询:含义、语法、意义、特点 10. 关键字执行顺序 这直接来自引用[3]。 此外,引用[4]提供了一个查询例子,我可以作为连接查询的示例。 在回答末尾生成相关问题,正如系统指令要求。 确保回答中引用的段落末尾添加引用标识,例如[^1]。 所以,在描述时,我需要引用来源。 现在,构建回答: 1. **开头**:直接回答用户查询,解释MySQL DQL。 2. **脑图结构**:用层次结构描述。 3. **细节**:简要概述每个部分。 4. **引用**:添加引用标识。 5. **结尾**:生成相关问题。 使用中文。 脑图描述: - 我可以说:MySQL DQL脑图可以包括以下主要部分: - ... - ... 最后,生成相关问题,如: - MySQL DQL中常见的运算符有哪些? - 如何优化MySQL查询性能? - MySQL DQL的学习资源推荐? 确保结构清晰。 </think> 基于您的查询,我将为您提供一个关于MySQL DQL(数据查询语言)的脑图(思维导图)结构。MySQL DQL主要用于执行数据检索操作,如SELECT语句,它是数据库操作的核心部分。以下脑图基于引用内容(特别是引用[3],它详细描述了DQL语言的各个组成部分)构建,并结合引用[1]、[2]和[4]的相关信息补充细节。脑图采用层次结构描述,便于您可视化学习路径: ### MySQL DQL 脑图大纲 脑图以“MySQL DQL”为核心主题,分为多个分支,每个分支代表一个关键子主题,包括语法、特点、案例等细节。结构如下: ``` - **核心:MySQL DQL** ├── 1. **基础查询** │ ├── 语法:`SELECT 字段列表 FROM 表名` [^3] │ ├── 特点:简单数据检索,支持别名和常量表达式 │ └── 案例:`SELECT name, age FROM students;`(检索学生姓名和年龄) │ ├── 2. **条件查询** │ ├── 语法:`SELECT ... WHERE 条件` [^3] │ ├── 筛选条件分类:比较运算符(如`=`、`>`)、逻辑运算符(如AND、OR) │ ├── 逻辑运算符:AND(与)、OR(或)、NOT(非) [^3] │ └── 模糊查询:使用LIKE和通配符(如`%`),示例:`SELECT * FROM employees WHERE name LIKE '张%';` │ ├── 3. **排序查询** │ ├── 语法:`SELECT ... ORDER BY 字段 ASC/DESC` [^3] │ └── 特点:默认升序(ASC),可指定降序(DESC),用于结果集排序 │ ├── 4. **常见函数** │ ├── 概述:内置函数用于数据处理 │ ├── 单行函数: │ │ ├── 字符函数:如CONCAT(字符串连接)、SUBSTR(子串提取) │ │ ├── 数学函数:如ROUND(四舍五入)、ABS(绝对值) │ │ ├── 日期函数:如NOW(当前时间)、DATE_FORMAT(日期格式化) │ │ ├── 其他函数:如IFNULL(处理NULL值) │ │ └── 流程控制函数:如CASE WHEN(条件分支) [^3] │ ├── 分组函数(聚合函数):如SUM、AVG、COUNT、MAX、MIN │ └── 其他函数:如日期差计算函数(DATEDIFF) │ ├── 5. **分组查询** │ ├── 语法:`SELECT ... GROUP BY 分组字段 HAVING 条件` [^3] │ └── 特点:结合聚合函数使用,HAVING用于分组后条件过滤 │ ├── 6. **连接查询** │ ├── 含义:多个表联合查询 [^3] │ ├── 分类: │ │ ├── 内连接(JOIN):返回匹配记录 │ │ ├── 左外连接(LEFT JOIN):左表所有记录显示,右表不匹配处填充NULL [^1] │ │ ├── 右外连接(RIGHT JOIN):右表所有记录显示,左表不匹配处填充NULL(可互换) [^1] │ │ └── MySQL不支持全外连接 │ └── 举例:基于引用[4],示例:`SELECT s.name, sc.score, cou.course FROM students s JOIN scores sc ON s.stuid=sc.stuid JOIN courses cou ON cou.courseid=sc.courseid ORDER BY sc.score DESC LIMIT 5;`(查询学生成绩前三) │ ├── 7. **子查询** │ └── 含义:嵌套查询(SELECT中嵌入另一个SELECT) [^3] │ ├── 8. **分页查询** │ ├── 语法:`SELECT ... LIMIT 偏移量, 行数` [^3] │ └── 案例:`SELECT * FROM orders LIMIT 10, 5;`(从第11行开始取5条记录) │ ├── 9. **联合查询** │ ├── 含义:合并多个查询结果(UNION) [^3] │ ├── 语法:`SELECT ... UNION [ALL] SELECT ...` │ ├── 意义:消除重复(UNION)或保留所有(UNION ALL) │ └── 特点:要求字段数和类型一致 │ └── 10. **关键字执行顺序** └── 顺序:FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT(优化查询性能的关键) [^3] ``` ### 脑图说明 - **来源依据**:此脑图主要基于引用[3](“Mysql基础篇-02-DQL语言”)的结构化内容构建,它覆盖了DQL的核心组件。引用[1]补充了连接查询的细节(如左连接和右连接),引用[4]提供了一个实际连接查询的案例,引用[2]提到了数据类型在查询中的重要性(如确保字段类型匹配)。 - **实用建议**:脑图有助于系统学习MySQL DQL,建议从基础查询开始,逐步深入到连接和子查询。实际应用中,注意数据类型兼容性(如引用[2]中的CHECK约束)以避免错误。 - **可视化工具**:您可以使用在线思维导图工具(如XMind或MindMeister)输入此大纲,创建视觉化脑图,便于复习和参考。 如果您需要此脑图的文本版本或更多案例,我可以进一步提供!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值