选择语句
-- 选择语句
-- sql中有几条语句,用分号隔开
-- 子句 SELECE(查询),FROM,WHERE(筛选),ORDER BY(排序) 子句的顺序不能改变
-- 最好把每条子句放在新建的行里面
查询语句
-- 查询语句
SELECT first_name,
last_name ,
points,
(points + 10) * 100 AS discount_factor
FROM customers
-- where customer_id = 1
-- order by first_name
-- 给某列加上别名 用AS关键字
-- 别名的好处(可以给列和结果集一个描述性名称)
-- 给列名中加入空格 使用单引号或者双引号进行引用 eg: "discount factor"
-- 算数表达式中运算符的顺序 : x / + -
-- 查询结果集里得到的一份洲的唯一列表,使用DISTINCT 关键字 所以使用distinct关键字可以删去重复项
SELECT DISTINCT state
FROM customers
-- 拆分子句,把每列放到新的一行
-- eg 1:Return all the products-- name
-- unit price
-- new price(unit price *1.1)
SELECT NAME,
unit_price,
unit_price*1.1 AS 'new price'
FROM products
WHERE子句
-- where子句 用于筛选数据
SELECT *
FROM customers
WHERE points > 3000
-- 通常把数值用单引号封上,大小写无所谓
SELECT *
FROM customers
WHERE birth_date > '1990-01-01' -- MySQL默认的日期表述形式
WHERE state = 'va' -- state = 'VA'
WHERE state != 'va'
-- 比较运算符
-- > , >= , < ,<= , = < != , <>
-- eg Get the orders placed this year
-- solution(答案)
SELECT *
FROM orders
WHERE order_date >= '2019-01-01'
AND OR 和 NOT运算符
-- AND OR 和 NOT运算符(operators)
-- 筛选数据时结合多条搜索条件
-- 合并多个逻辑运算符时,需要注意运算符的顺序 优先级 AND > OR
SELECT *
FROM customers
-- 获取1990年出生或者至少有1000积分 并且位于va的顾客 带个括号
WHERE birth_date > '1990-01-01' OR
(points