网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
mysql> select \* from Customers;
+---------+-----------+
| cust_id | cust_name |
+---------+-----------+
| a1 | andy |
| a2 | ben |
| a3 | tony |
| a4 | tom |
| a5 | an |
| a6 | lee |
| a7 | hex |
+---------+-----------+
7 rows in set (0.00 sec)
42、数据排序(1)
有数据表 Customers,其中 cust_id 代表客户 id,cust_name 代表客户姓名。
cust_id | cust_name |
---|---|
a1 | andy |
a2 | ben |
a3 | tony |
a4 | tom |
a5 | an |
a6 | lee |
a7 | hex |
【问题】从 Customers 中检索所有的顾客名称(cust_name),并按从 Z 到 A 的顺序显示结果。查询结果如下:
cust_name |
---|
tony |
tom |
lee |
hex |
ben |
andy |
an |
解答:
mysql> select cust_name from Customers order by cust_name desc;
+-----------+
| cust_name |
+-----------+
| tony |
| tom |
| lee |
| hex |
| ben |
| andy |
| an |
+-----------+
7 rows in set (0.00 sec)
43、数据排序(2)
有数据表:Orders,表中数据如下:
cust_id | order_num | order_date |
---|---|---|
andy | aaaa | 2021-01-01 00:00:00 |
andy | bbbb | 2021-01-01 12:00:00 |
bob | cccc | 2021-01-10 12:00:00 |
dick | dddd | 2021-01-11 00:00:00 |
【问题】编写 SQL 语句,从 Orders 表中检索顾客 ID(cust_id)和订单号(order_num),并先按顾客 ID 对结果进行排序,再按订单日期倒序排列。查询结果如下:
cust_id | order_num |
---|---|
andy | bbbb |
andy | aaaa |
bob | cccc |
dick | dddd |
表结构及数据如下:
/\*
DROP TABLE IF EXISTS `Orders`;
CREATE TABLE IF NOT EXISTS `Orders` (
`cust\_id` varchar(255) NOT NULL COMMENT '顾客 ID',
`order\_num` varchar(255) NOT NULL COMMENT '订单号',
`order\_date` timestamp NOT NULL COMMENT '订单时间'
);
INSERT INTO `Orders` VALUES ('andy','aaaa','2021-01-01 00:00:00'),
('andy','bbbb','2021-01-01 12:00:00'),
('bob','cccc','2021-01-10 12:00:00'),
('dick','dddd','2021-01-11 00:00:00');
\*/
解答:
mysql> select cust_id, order_num
-> from Orders order by cust_id, order_date desc;
+---------+-----------+
| cust_id | order_num |
+---------+-----------+
| andy | bbbb |
| andy | aaaa |
| bob | cccc |
| dick | dddd |
+---------+-----------+
4 rows in set (0.00 sec)
44、数据排序(3)
有一个数据表:OrderItems,表中数据如下:
quantity | item_price |
---|---|
1 | 100 |
10 | 1003 |
2 | 500 |
【问题】编写 SQL 语句,显示 OrderItems 表中的数量(quantity)和价格(item_price),并按数量由多到少、价格由高到低排序。查询结果如下:
表结构及数据如下:
/\*
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems` (
`quantity` INT(64) NOT NULL COMMENT '数量',
`item\_price` INT(64) NOT NULL COMMENT '订单价格'
);
INSERT INTO `OrderItems` VALUES (1,100),
(10,1003),
(2,500);
\*/
解答:
/\*
select quantity, item\_price
from OrderItems
order by quantity desc, item\_price desc;
\*/
mysql> select quantity, item_price
-> from OrderItems
-> order by quantity desc, item_price desc;
+----------+------------+
| quantity | item_price |
+----------+------------+
| 10 | 1003 |
| 2 | 500 |
| 1 | 100 |
+----------+------------+
3 rows in set (0.00 sec)
45、使用条件过滤数据(1)
有数据表:Products,表中数据如下:
prod_id | prod_name | prod_price |
---|---|---|
a0018 | sockets | 9.49 |
a0019 | iphone13 | 600 |
b0018 | gucci t-shirts | 1000 |
【问题】从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9.49 元的产品。查询结果如下:
prod_id | prod_name |
---|---|
a0018 | sockets |
表结构及数据如下:
/\*
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` DOUBLE NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0018','sockets',9.49),
('a0019','iphone13',600),
('b0019','gucci t-shirts',1000);
\*/
解答:
mysql> select prod_id, prod_name from Products where prod_price = 9.49;
+---------+-----------+
| prod_id | prod_name |
+---------+-----------+
| a0018 | sockets |
+---------+-----------+
1 row in set (0.01 sec)
46、使用条件过滤数据(2)
有数据表:Products,表中数据如下:
prod_id | prod_name | prod_price |
---|---|---|
a0018 | sockets | 9.49 |
a0019 | iphone13 | 600 |
b0019 | gucci t-shirts | 1000 |
【问题】编写 SQL 语句,从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9 元或更高的产品。查询结果如下:
prod_id | prod_name |
---|---|
a0018 | sockets |
a0019 | iphone13 |
b0019 | gucci t-shirts |
解答:
mysql> select prod_id, prod_name from Products where prod_price >= 9;
+---------+----------------+
| prod_id | prod_name |
+---------+----------------+
| a0018 | sockets |
| a0019 | iphone13 |
| b0019 | gucci t-shirts |
+---------+----------------+
3 rows in set (0.00 sec)
47、使用条件过滤数据(3)
有数据表:Products,表中数据如下:
prod_id | prod_name | prod_price |
---|---|---|
a0011 | egg | 3 |
a0019 | sockets | 4 |
b0019 | coffee | 15 |
【问题】编写 SQL 语句,返回 Products 表中所有价格在 3 元到 6 元之间的产品名称(prod_name)和价格(prod_price),然后按价格对结果进行排序。查询结果如下:
prod_name | prod_price |
---|---|
egg | 3 |
sockets | 4 |
表结构及数据如下:
/\*
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` DOUBLE NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0011','egg',3),
('a0019','sockets',4),
('b0019','coffee',15);
\*/
解答:
/\*
select prod\_name, prod\_price from Products
where prod\_price between 3 and 6 order by prod\_price;
\*/
mysql> select prod_name, prod_price from Products
-> where prod_price between 3 and 6 order by prod_price;
+-----------+------------+
| prod_name | prod_price |
+-----------+------------+
| egg | 3 |
| sockets | 4 |
+-----------+------------+
2 rows in set (0.00 sec)
48、使用条件过滤数据(4)
OrderItems 表含有:订单号 order_num,quantity 产品数量,表中数据如下:
order_num | quantity |
---|---|
a1 | 105 |
a2 | 1100 |
a2 | 200 |
a4 | 1121 |
a5 | 10 |
a2 | 19 |
a7 | 5 |
【问题】从 OrderItems 表中检索出所有不同且不重复的订单号(order_num),其中每个订单都要包含 100 个或更多的产品。查询结果如下:
order_num |
---|
a1 |
a2 |
a4 |
表结构及数据如下:
/\*
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
order\_num VARCHAR(255) NOT NULL COMMENT '商品订单号',
quantity VARCHAR(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('a1','105'),('a2','1100'),('a2','200'),('a4','1121'),('a5','10'),('a2','19'),('a7','5');
\*/
解答:
mysql> select distinct order_num from OrderItems where quantity >= 100;
+-----------+
| order_num |
+-----------+
| a1 |
| a2 |
| a4 |
+-----------+
3 rows in set (0.00 sec)
49、使用条件过滤数据(5)
Vendors 表有字段供应商名称(vend_name)、供应商国家(vend_country)、供应商州(vend_state),表中数据如下:
vend_name | vend_country | vend_state |
---|
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
条件过滤数据(5)
Vendors 表有字段供应商名称(vend_name)、供应商国家(vend_country)、供应商州(vend_state),表中数据如下:
vend_name | vend_country | vend_state |
---|
[外链图片转存中…(img-wuClUtNl-1715808750889)]
[外链图片转存中…(img-Bmzcwics-1715808750889)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新