0
点赞
收藏
分享

微信扫一扫

《SQL必知必会》 - 课后题练习(随学习进度更新)

cnlinkchina 2022-04-03 阅读 50
mysqlsql

目录

第二课 检索数据

第三课 排序检索数据

第四课 过滤数据

第五课 高级数据过滤

第六课 用通配符进行过滤


第二课 检索数据

SELECT cust_id FROM Customers;

SELECT DISTINCT prod_id FROM orderitems ;

SELECT * FROM customers; -- SELECT cust_id FROM customers;

标准答案:SELECT * # SELECT cust_id FROM Customers;

第三课 排序检索数据

 SELECT cust_names FROM Customers ORDER BY cust_names DESC;

SELECT cust_id,order_num FROM Orders ORDER BY cust_id,order_date DESC;

SELECT item_num,item_price FROM OrderItems ORDER BY item_num DESC,item_price DESC;

vend_name后面不应该加逗号;ORDER少了BY

第四课 过滤数据

SELECT prod_id,prod_name FROM Products WHERE prod_price=9.49;

SELECT prod_id,prod_name FROM Products WHERE prod_price>=9;

标准答案:SELECT DISTINCT order_num FROM OrderItems WHERE quantity >=100;

SELECT prod_name,prod_price FROM Products WHERE prod_price BETWEEN 3 AND 6 

ORDER BY prod_price;

第五课 高级数据过滤

SELECT vend_name FROM Vendors

WHERE vend_name='USA' AND vend_name='CA%' ;

SELECT  order_num,prod_id,quantity FROM orderitems 

WHERE quantity >=100 AND (prod_id='BR01' OR prod_id='BR02' OR prod_id='BR03');

--标准解法 1

SELECT order_num, prod_id, quantity FROM OrderItems WHERE (prod_id='BR01' OR prod_id='BR02' OR prod_id='BR03') AND quantity >=100;

--标准解法 2

SELECT order_num, prod_id, quantity FROM OrderItems WHERE prod_id IN ('BR01','BR02','BR03') AND quantity >=100;

SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 3 AND 6 

ORDER BY prod_price;

标准答案:SELECT prod_name, prod_price FROM products WHERE prod_price >= 3 AND prod_price <= 6 ORDER BY prod_price;

ORDER BY应该位于语句的最后

第六课 用通配符进行过滤

SELECT prod_name,prod_desc FROM Products WHERE prod_desc LIKE '%toy%';

SELECT prod_name,prod_desc FROM Product WHERE NOT prod_desc LIKE '%toy%'

ORDER BY prod_name;

SELECT prod_name,prod_desc FROM Product 

WHERE prod_desc LIKE '%toy%' AND prod_desc LIKE '%carrots%'

SELECT prod_name,prod_desc FROM Product  

WHERE prod_desc LIKE '%toy%carrots%';

举报

相关推荐

0 条评论