MySQL数据库 - 单表查询

这篇博客详细介绍了MySQL数据库中的单表查询,包括基本查询、带IN关键字的查询、带BETWEEN AND的范围查询、带LIKE的字符匹配查询、查询空值与去除重复结果、带AND与OR的多条件查询、对查询结果进行排序、分组查询以及使用LIMIT限制查询结果数量。通过一系列的任务描述、相关知识和编程要求,帮助读者掌握MySQL单表查询的各种技巧和应用场景。

目录

需要代做+V

MySQL数据库 - 单表查询(一)

第1关:基本查询语句

任务描述

相关知识

查询数据表中指定字段的内容

查询数据表中的所有内容

编程要求

测试说明

第2关:带 IN 关键字的查询

任务描述

相关知识

带 IN 关键字的查询

带 NOT IN 关键字的查询

编程要求

测试说明

第3关:带 BETWEEN AND 的范围查询

任务描述

相关知识

带 BETWEEN AND 关键字的查询

带 NOT BETWEEN AND 关键字的查询

编程要求

测试说明

MySQL数据库 - 单表查询(二)

第1关:带 LIKE 的字符匹配查询

任务描述

相关知识

使用通配符 % 模糊匹配数据内容

使用通配符 _ 模糊匹配数据内容

编程要求

测试说明

第2关:查询空值与去除重复结果

任务描述

相关知识

查询空值

去除重复结果

编程要求

测试说明

第3关:带 AND 与 OR 的多条件查询

任务描述

相关知识

带 AND 关键字的多条件查询

带 OR 关键字的多条件查询

编程要求

测试说明

MySQL数据库 - 单表查询(三)

第1关:对查询结果进行排序

任务描述

相关知识

对查询结果排序

指定排序方向

编程要求

测试说明

第2关:分组查询

任务描述

相关知识

分组查询的单独使用

编程要求

测试说明

第3关:使用 LIMIT 限制查询结果的数量

任务描述

相关知识

LIMIT 的使用

编程要求

测试说明


需要代做+V

MySQL数据库 - 单表查询(一)

第1关:基本查询语句

任务描述

本关任务:

  • SELECT 语句检索数据表中指定字段的数据;

  • SELECT 语句检索数据表中所有字段的数据。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何获取数据表中指定字段的数据;
  2. 如何获取数据表中的所有数据。
查询数据表中指定字段的内容

MySQL 从数据表中查询数据的基本语句为 SELECT 语句。

SELECT 语句的可选参数比较多,让我们先从最简单的开始,带大家一步一步的深入 SELECT 语句的使用。

SELECT 基本语法规则为: SELECT 字段名 FROM 表名; 。

举个例子 假设我们现在有一张表 Mall_products,内容如下:

我们需要从数据表中查询所有商品的名称,你们想想该怎么写?

查询代码如下:

 
  1. SELECT prod_name
  2. FROM Mall_products;

结果为:

查询过程如下:

分析:

在该例子中,我们使用了 SELECT 语句从 Mall_products 表中获取名称为 prod_name 字段下的所有产品名称,字段名称需要紧跟在 SELECT 关键字之后。

然而事实上,我们查询数据的时候,往往需要同时查询 多个字段 下的内容。这时,我们只需要在 字段之间 加入逗号 , 即可。

语法规则为: SELECT 字段名1, 字段名2 FROM 表名; 。

举个例子 假设我们现在有一张表 Mall_products,内容与上例相同。我们需要从数据表中查询所有商品的名称和价格,你们想想该怎么写?

查询代码如下:

 
  1. SELECT prod_name, prod_price
  2. FROM Mall_products;

结果为:

小提示: MySQL 中的 SQL 语句对关键字的大小写不敏感, SELECT 和 select 是一样的。 但是许多开发者更喜欢将关键字大写,表名和字段名使用小写,养成这种习惯,以后写出来的脚本就更容易阅读和维护了。
查询数据表中的所有内容

如果我们不记得字段名字了,我们还可以查看整张表的内容。这时候,只需要我们用星号 * 来代替字段的名字,就会得到一整张表的内容。

语法规则为: `SELECT *` `FROM 表名;`

举个例子 假设我们现在有一张表 Mall_products。一开始我们并不知道表里都有什么,所以想要查看整张数据表的内容,你们想想该怎么写?

查询代码如下:

 
  1. SELECT *
  2. FROM Mall_products;

结果为:

小提示: 虽然使用星号 * 看起来是一件很方便的事情,但是建议大家在不想获取整张表的情况下,还是使用字段名来进行查询。因为很显然,它会降低查询的效率。

好了,下面轮到你们来上手试试了!

编程要求

根据提示,在右侧编辑器 Begin-End 处补充代码:

我们为你新建了一个数据表 tb_emp,结构如下:

  • 请你查询字段 NameSalary 的内容;

  • 请你查询整张表的内容。

测试说明

我会对你编写的代码进行测试,若与预期输出一致则算通关。

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## retrieving the Name and Salary ##########
select Name,Salary from tb_emp;

########## retrieving all the table ##########
select * from tb_emp;

########## End ##########

第2关:带 IN 关键字的查询

任务描述

本关任务:使用 IN 关键字检索数据表中指定的数据内容。

相关知识

为了完成本关任务,你需要掌握:

  1. IN 关键字的查询;
  2. NOT IN 关键字的查询。
IN 关键字的查询

IN 关键字被用在 WHERE 语句的后边,用来过滤你所需要查询的内容。更形象的说,IN 关键字的使用情形就像点名,点到谁谁就要站出来。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...); 。

其中,括号内的数字必须为 INT 格式的数字。被“点到名”的这些括号里数字对应的内容,都要乖乖的站到前边来展示给大家看。

举个例子 假设我们现在有一张表 Mall_products,内容如下:

我们会使用 IN 关键字检索出所有国家代码为 18639 的商品信息。

查询代码如下:

 
  1. SELECT *
  2. FROM Mall_products
  3. WHERE prod_country IN (1,87,39);

结果为:

查询过程如下:

Oopes! 貌似我们刚才输入了三个数字,为什么只查询到了国家代码为 139 的数据内容,87 去哪里了?

因为国家代号 87 的内容就压根没存在过啊,仔细看看表 Mall_products 就知道了。

NOT IN 关键字的查询

聪明的小伙伴一看 NOT 就知道了,我们是要取反了。刚才我们是在查询括号中出现的内容,加了 NOT 取反后,就意味着,我们要查询的是除了括号中出现内容外的所有内容。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...); 。

举个例子 我们还使用刚才的表 Mall_products。现在我们想要查询除了国家代码为 86 的所有国家的产品内容。

查询代码如下:

 
  1. SELECT *
  2. FROM Mall_products
  3. WHERE prod_country NOT IN (86);

结果为:

好了,下面轮到你们来上手试试了!

编程要求

根据提示,在右侧编辑器 Begin-End 处补充代码:

我们为你新建了一个数据表 tb_emp,结构如下:

  • 请你查询当 Id 不等于 1 时,字段 NameSalary 的内容;
测试说明

我会对你编写的代码进行测试,最终结果会如下图所示:

USE Company;

#请在此处添加实现代码
########## Begin ##########

########## retrieving the Name and Salary with IN statement ##########
SELECT Name,Salary FROM tb_emp WHERE Id NOT IN (1);


########## End ##########

第3关:带 BETWEEN AND 的范围查询

任务描述

本关任务:使用 BETWEEN AND 关键字检索数据表中指定的数据内容。

相关知识

为了完成本关任务,你需要掌握:

  1. BETWEEN AND 关键字的查询;
  2. NOT BETWEEN AND 关键字的查询。
BETWEEN AND 关键字的查询

我们已经学会了如何用 IN 关键字精确查询数据表中的内容,但是在很多时候,我们仅仅是想知道在某一范围内有多少符合条件的数据,这就不得不使用到关键字 BETWEEN AND 了。

BETWEEN AND 需要两个参数支持,一个是范围的开始值,另一个就是结束值了。如果字段值满足指定的范围查询条件,就返回这些满足条件的数据内容。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2; 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小柒_02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值