P7 第二章 1-选择语句
task1 获取给定表格中所有顾客的简单查询
USE sql_store; -- 选择sql_store表
SELECT * -- 获取所有列
FROM customers -- 明确想要查询customers表
-- WHERE customer_id = 1 找到id为1的顾客
ORDER BY first_name -- 根据first_name排序
当有好几条sql语句,需要用分号终止每条语句
⚡️是执行
双杠加上空格 表示标注不执行
P8 第二章 2-选择子句
SELECT -- 获取某列,前后位顺序
last_name,
first_name,
points,
(points + 10) * 100 AS discount_factor -- 给这一列起别名,给列和结果集一个描述性名称,如果想在列名里加空格,需要在两侧加上引号,如'discount factor'
FROM customers -- 明确想要查询customers表
每位顾客的points是根据他们购物情况计算的,获取points并用数学公式表达,计算我们可为每位顾客提供的折扣力度,如points+10
SELECT DISTINCT state -- 从customers表里获取一份state的唯一列表(去重)
FROM customers
exercise:
返回products数据
name
unit_price
new_price(unit_price * 1.1)
USE sql_store;
SELECT *
FROM products -- 返回products的所有数据
USE sql_store;
SELECT name,
unit_price,
unit_price * 1.1 AS new_price
FROM products
P9 第二章 3-WHERE子句
USE sql_store;
SELECT *
FROM customers
WHERE points > 3000 -- 找出points大于3000的数据
符号 | 含义 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
!= / <> | 不等于 |
USE sql_store;
SELECT *
FROM customers
WHERE points > 3000 -- 找出points大于3000的数据
WHERE state = 'VA' -- 找出位于VA的顾客,每当要处理一串字符序列即本质上是文本的数据,需要加上引号
WHERE state != 'VA' -- 找出不在VA州的数据
WHERE birth_date > '1990-01-01' -- 找出1990年1月1日后出生的人,用引号表述日期值,即使日期不是字符串
exercise:
写一段查询,得到今年下的订单2019
查看orders表,看看有哪些列,基于那些列用WHERE子句编写查询
USE sql_store;
SELECT *
FROM orders
WHERE order_date >= '2019-01-01'