【SQL刷题】Day11----SQL通配符专项练习

博主昵称:跳楼梯企鹅
博主主页面链接:博主主页传送门

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

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

【SQL刷题】Day11----SQL通配符专项练习_第1张图片

前言

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

【SQL刷题】Day11----SQL通配符专项练习_第2张图片

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

主要原因有三点:

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

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

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

一、

简介:sql通配符是使用用特殊字符或语法拼写,用来执行模糊搜索指令的语句功能。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。如在数据中搜索以大写“A”字母开头的字符类型数据,可以使用like "A%"。

主要函数:

通配符 描述
% 替代0个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符

[^charlist]或者[!charlist]

不在字符列中的任何单一字符

 

二、刷题

1.刷题一

(1)题目

题目:检索产品名称和描述(一)

描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中包含 toy 一词的产品名称

【SQL刷题】Day11----SQL通配符专项练习_第3张图片

(2)难易程度

难易程度:简单

(3)示例

输入:

DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_desc` VARCHAR(255) NOT NULL COMMENT '产品名称'
);
INSERT INTO `Products` VALUES ('a0011','usb'),
('a0019','iphone13'),
('b0019','gucci t-shirts'),
('c0019','gucci toy'),
('d0019','lego toy');

输出:

c0019|gucci toy
d0019|lego toy

(4)代码

select prod_name, prod_desc
from Products
where prod_desc like "%toy%"

(5)运行截图

【SQL刷题】Day11----SQL通配符专项练习_第4张图片

2.刷题二

(1)题目

题目:检索产品名称和描述(二)

描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中未出现 toy 一词的产品,最后按”产品名称“对结果进行排序。

【SQL刷题】Day11----SQL通配符专项练习_第5张图片

(2)难易程度

难易程度:简单

(3)示例

输入:

DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_desc` VARCHAR(255) NOT NULL COMMENT '产品名称'
);
INSERT INTO `Products` VALUES ('a0011','usb'),
('a0019','iphone13'),
('b0019','gucci t-shirts'),
('c0019','gucci toy'),
('d0019','lego toy');

输出:

a0011|usb
a0019|iphone13
b0019|gucci t-shirts

(4)代码

select prod_name , prod_desc
from Products
where instr(prod_desc , 'toy') <=0
order by prod_name;

(5)运行截图

【SQL刷题】Day11----SQL通配符专项练习_第6张图片

3.刷题三

(1)题目

题目:检索产品名称和描述(三)

描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中同时出现 toy 和 carrots 的产品。有好几种方法可以执行此操作,但对于这个挑战题,请使用 AND 和两个 LIKE 比较。

【SQL刷题】Day11----SQL通配符专项练习_第7张图片

(2)难易程度

难易程度:简单

(3)示例

输入:

DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_desc` VARCHAR(255) NOT NULL COMMENT '产品名称'
);
INSERT INTO `Products` VALUES ('a0011','usb'),
('a0019','iphone13'),
('b0019','gucci t-shirts'),
('c0019','gucci toy'),
('d0019','lego carrots toy');

输出:

d0019|lego carrots toy

(4)代码

select prod_name,prod_desc
from Products
where prod_desc  like "%toy%" and prod_desc  like "%carrots%"

(5)运行截图

【SQL刷题】Day11----SQL通配符专项练习_第8张图片

4.刷题四

(1)题目

题目:检索产品名称和描述(四)

描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回在描述中以先后顺序同时出现 toy 和 carrots 的产品。提示:只需要用带有三个 % 符号的 LIKE 即可。

【SQL刷题】Day11----SQL通配符专项练习_第9张图片

(2)难易程度

难易程度:入门

(3)示例

输入:

DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_desc` VARCHAR(255) NOT NULL COMMENT '产品名称'
);
INSERT INTO `Products` VALUES ('a0011','usb'),
('a0019','iphone13'),
('b0019','gucci t-shirts'),
('c0019','gucci toy'),
('d0019','lego toy carrots ');

输出:

d0019|lego toy carrots

(4)代码

select prod_name , prod_desc
from Products
where prod_desc like "%toy%carrots%"
order by prod_name

(5)运行截图

【SQL刷题】Day11----SQL通配符专项练习_第10张图片

三、小结

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

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

你可能感兴趣的