【SQL刷题】Day10----SQL高级过滤函数专项练习

简介: 【SQL刷题】Day10----SQL高级过滤函数专项练习

 

博主昵称:跳楼梯企鹅

创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

学习网站跳转链接:牛客刷题网


前言

给大家推荐一款很好的刷题软件牛客刷题网

图片.png

博主为什么喜欢用这个网站学习呢?

主要原因有三点:

1.内部含有大量面试题库

2.覆盖行业范围比较全面

3.刷题的题目是按照简单到难的过程

一、过滤函数(高级)

简介:数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只是根据特定的需要提取表数据的子集。因此检索所需数据时需要指定搜索条件,搜索条件也称为过滤条件。

语法:

#column_name=列名称, table_name=表名称, operator=运算符,value=值
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value

image.gif

方式:WHERE函数

在SELECT语句中,WHERE子句用于规定选择的标准,即有条件地从表中选取数据。

SELECT name,id
FROM students
WHERE id = 1

image.gif

等等......

二、刷题

1.刷题一

(1)题目

题目:检索供应商名称

描述:编写 SQL 语句,从 Vendors 表中检索供应商名称(vend_name),仅返回加利福尼亚州的供应商(这需要按国家[USA]和州[CA]进行过滤,没准其他国家也存在一个CA)

图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
  `vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称',
  `vend_country` VARCHAR(255) NOT NULL COMMENT 'vend国家',
  `vend_state` VARCHAR(255) NOT NULL COMMENT 'vend州'
);
INSERT INTO `Vendors` VALUES ('apple','USA','CA'),
('vivo','CNA','shenzhen'),
('huawei','CNA','xian');
输出:
apple

image.gif

(4)代码

select vend_name
from Vendors
where vend_country='USA'
and vend_state='CA'

image.gif

(5)运行截图

image.gif图片.png

2.刷题二

(1)题目

题目:检索并列出已订购产品的清单

描述:编写SQL 语句,查找所有订购了数量至少100 个的 BR01、BR02 或BR03 的订单。你需要返回 OrderItems 表的订单号(order_num)、产品 ID(prod_id)和数量(quantity),并按产品 ID 和数量进行过滤。

image.gif图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
  prod_id VARCHAR(255) NOT NULL COMMENT '商品号',
  order_num VARCHAR(255) NOT NULL COMMENT '商品订单号',
  quantity INT(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('BR01','a1','105'),('BR02','a2','1100'),('BR02','a2','200'),('BR03','a4','1121'),('BR017','a5','10'),('BR02','a2','19'),('BR017','a7','5')
输出:
a1|BR01|105
a2|BR02|1100
a2|BR02|200
a4|BR03|1121

image.gif

(4)代码

select
    order_num,
    prod_id,
    quantity
from OrderItems 
where prod_id in('BR01', 'BR02', 'BR03')
    and quantity >= 100

image.gif

(5)运行截图

image.gif图片.png

3.刷题三

(1)题目

题目:返回所有价格在 3美元到 6美元之间的产品的名称和价格

描述:编写 SQL 语句,返回所有价格在 3美元到 6美元之间的产品的名称(prod_name)和价格(prod_price),使用 AND操作符,然后按价格对结果进行升序排序

图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_id` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品名称',
`prod_price` INT(255) NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0011','egg',3),
('a0019','sockets',4),
('b0019','coffee',15);
输出:
egg|3
sockets|4

image.gif

(4)代码

select
    prod_name,
    prod_price
from Products
where prod_price >= 3 and prod_price <= 6
order by prod_price

image.gif

(5)运行截图

image.gif图片.png

4.刷题四

(1)题目

题目:纠错2

描述:修改正确下面sql,使之正确返回

图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
  `vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称',
  `vend_country` VARCHAR(255) NOT NULL COMMENT 'vend国家',
  `vend_state` VARCHAR(255) NOT NULL COMMENT 'vend州'
);
INSERT INTO `Vendors` VALUES ('apple','USA','CA'),
('beef noodle king','USA','CA'),
('vivo','CNA','shenzhen'),
('huawei','CNA','xian');
输出:
apple
beef noodle king

image.gif

(4)代码

SELECT 
    vend_name 
FROM Vendors 
WHERE vend_country = 'USA' AND vend_state = 'CA'
ORDER BY vend_name

image.gif

(5)运行截图

图片.png

三、小结

本片文章为MySQL刷题系列文章,第十天!

欢迎小伙伴一起来刷题,点击右边链接牛客------刷题网

相关文章
|
1月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
|
1月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
1月前
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
|
1月前
|
SQL 关系型数据库 MySQL
SQL日期函数
SQL日期函数
|
2月前
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
3月前
|
SQL 数据处理 数据库
|
3月前
|
SQL Oracle 关系型数据库
SQL 中的大小写处理函数详解
【8月更文挑战第31天】
148 0
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
115 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
下一篇
无影云桌面