博主昵称:跳楼梯企鹅
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;学习网站跳转链接:牛客刷题网
前言
给大家推荐一款很好的刷题软件牛客刷题网---一起学SQL
博主为什么喜欢用这个网站学习呢?
主要原因有三点:
1.内部含有大量面试题库
2.覆盖行业范围比较全面
3.刷题的题目是按照简单到难的过程
一、
简介:sql通配符是使用用特殊字符或语法拼写,用来执行模糊搜索指令的语句功能。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。如在数据中搜索以大写“A”字母开头的字符类型数据,可以使用like "A%"。
主要函数:
通配符 | 描述 |
% | 替代0个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或者[!charlist] |
不在字符列中的任何单一字符 |
二、刷题
1.刷题一
(1)题目
题目:检索产品名称和描述(一)
描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中包含 toy 一词的产品名称
(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)运行截图
2.刷题二
(1)题目
题目:检索产品名称和描述(二)
描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中未出现 toy 一词的产品,最后按”产品名称“对结果进行排序。
(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)运行截图
3.刷题三
(1)题目
题目:检索产品名称和描述(三)
描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回描述中同时出现 toy 和 carrots 的产品。有好几种方法可以执行此操作,但对于这个挑战题,请使用 AND 和两个 LIKE 比较。
(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)运行截图
4.刷题四
(1)题目
题目:检索产品名称和描述(四)
描述:编写 SQL 语句,从 Products 表中检索产品名称(prod_name)和描述(prod_desc),仅返回在描述中以先后顺序同时出现 toy 和 carrots 的产品。提示:只需要用带有三个 % 符号的 LIKE 即可。
(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)运行截图
三、小结
本片文章为MySQL刷题系列文章,第十一天!
欢迎小伙伴一起来刷题,点击右边链接牛客------刷题网