博主昵称:跳楼梯企鹅
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;学习网站跳转链接:牛客刷题网
前言
给大家推荐一款很好的刷题软件牛客刷题网
博主为什么喜欢用这个网站学习呢?
主要原因有三点:
1.内部含有大量面试题库
2.覆盖行业范围比较全面
3.刷题的题目是按照简单到难的过程
一、过滤函数(高级)
简介:数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只是根据特定的需要提取表数据的子集。因此检索所需数据时需要指定搜索条件,搜索条件也称为过滤条件。
语法:
#column_name=列名称, table_name=表名称, operator=运算符,value=值 SELECT column_name,column_name FROM table_name WHERE column_name operator value
方式:WHERE函数
在SELECT语句中,WHERE子句用于规定选择的标准,即有条件地从表中选取数据。
SELECT name,id FROM students WHERE id = 1
等等......
二、刷题
1.刷题一
(1)题目
题目:检索供应商名称
描述:编写 SQL 语句,从 Vendors 表中检索供应商名称(vend_name),仅返回加利福尼亚州的供应商(这需要按国家[USA]和州[CA]进行过滤,没准其他国家也存在一个CA)
(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
(4)代码
select vend_name from Vendors where vend_country='USA' and vend_state='CA'
(5)运行截图
2.刷题二
(1)题目
题目:检索并列出已订购产品的清单
描述:编写SQL 语句,查找所有订购了数量至少100 个的 BR01、BR02 或BR03 的订单。你需要返回 OrderItems 表的订单号(order_num)、产品 ID(prod_id)和数量(quantity),并按产品 ID 和数量进行过滤。
(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
(4)代码
select order_num, prod_id, quantity from OrderItems where prod_id in('BR01', 'BR02', 'BR03') and quantity >= 100
(5)运行截图
3.刷题三
(1)题目
题目:返回所有价格在 3美元到 6美元之间的产品的名称和价格
描述:编写 SQL 语句,返回所有价格在 3美元到 6美元之间的产品的名称(prod_name)和价格(prod_price),使用 AND操作符,然后按价格对结果进行升序排序
(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
(4)代码
select prod_name, prod_price from Products where prod_price >= 3 and prod_price <= 6 order by prod_price
(5)运行截图
4.刷题四
(1)题目
题目:纠错2
描述:修改正确下面sql,使之正确返回
(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
(4)代码
SELECT vend_name FROM Vendors WHERE vend_country = 'USA' AND vend_state = 'CA' ORDER BY vend_name
(5)运行截图
三、小结
本片文章为MySQL刷题系列文章,第十天!
欢迎小伙伴一起来刷题,点击右边链接牛客------刷题网