ZZZZZZ目的
ZZZZZZ代码
ZZZZZZ重点
ZZZZZZ操作(非代码,需要自己手动)
- 输出手机号码缺失的顾客
WHERE phone IS NULL - 输出有手机号的顾客
WHERE phone IS NOT NULL
【练习题】
输出还没有发货的订单
SELECT * FROM sql_store.orders
WHERE shipped_date IS NULL
或者
WHERE shipper_id IS NULL
- 可以通过点击customers表的长得像工具的图标(就在打开表的那个图标旁边),在这里我们可以更改列,可以添加新的列或者删除现有的列,改名,改顺序等等
- 可以看见customer_id前面有个⚡,表明customer_id是这一列的主键列。在关系型数据库中,每个表格都有一个主键列,这一列的值要能够唯一识别表里的记录,所以当打开costomers这个表时,会默认用customer_id这一列来排序
- 输出customers表格,并按照名的顺序来排列
ORDER BY first_name
如果想要按照降序,或者是将顺序反过来,可以用DESC降序这个单词来表达
ORDER BY first_name DESC - 按照州来给顾客排序,每个州用名来排序
ORDER BY state, first_name
按照州的降序来给顾客排序,每个州用名来排序
ORDER BY state DESC, first_name
按照州的降序来给顾客排序,每个州用名的降序来排序
ORDER BY state DESC, first_name DESC - MySQL中,可以用任何排列数序数据,不用管那列是不是在SELECT子句中
创建一个名为”points“的新变量,新变量的内容全都等于10,然后只从customers表格中选择出姓、名和10这三列,并按照积分和名来排列
SELECT first_name, last_name, 10 AS points
FROM customers
ORDER BY points, first_name - MySQL中,可以通过列位置来给数据排序
创建一个名为”points“的新变量,新变量的内容全都等于10,然后只从customers表格中选择出姓、名和10这三列,并按照名和姓来排列
SELECT first_name, last_name, 10 AS points
FROM customers
ORDER BY 1, 2
这里的”1“”2“代表的是SELECT后面”first_name, last_name, 10 AS points“选择的第一个列first_name和第二列last_name
MySQL的排序顺序是这样的,先排first_name的顺序,先对比first_name的第一个字母,如果第一个字母一样,那么就再对比第二个字母,直到对比完为止,只有first_name全都一样的时候,再按照last_name的字母顺序排序,并不是排完first_name的第一个字母,然后就排last_name,而是一个字母一个字母的来
用”1“”2“这种来代表选取第一列和第二列的方法有时候会出现错误,所以一般建议还是通过输入列名称的方法来排序
【练习题】
在order_items的表格中,输出order_id为2,总价格按照降序来排序的订单
SELECT *
FROM order_items
WHERE order_id = 2
ORDER BY quantity * unit_price DESC

被折叠的 条评论
为什么被折叠?



