1.选择子句 SELECT
作用:用于从表中选取数据。
语法:SELECT 列名称 FROM 表名称
实例:
a.查询表中的单个字段
SELECT state
FROM customers
b.查询表中的多个字段
SELECT first_name,last_name,points
FROM customers
c.查询表中的所有字段
SELECT *
FROM customers;
d.起别名(AS可省略)
SELECT first_name AS 姓氏,last_name AS 名字,points 积分
FROM customers
e.去重(DISTINCT)
SELECT DISTINCT state
FROM customers
f.加号的作用(仅有一个功能,运算符)
SELECT first_name,last_name,points,points + 10 AS discount_factor
FROM customers
2.条件查询 Where
语法:SELECT 列名称 FROM 表名称 WHERE 筛选条件
实例:
a.按条件表达式(>, < ,= ,>= ,<= ,!=,<>)
注意:可以对日期或者文本进行比较运算
SELECT *
FROM customers
WHERE birth_date > '1990-01-01'
b.按逻辑运算符(AND,OR,NOT)
注意:AND优先级高于OR
-- AND用法
SELECT *
FROM customers
WHERE birth_date > '1990-01-01' AND points > 1000
-- OR用法
SELECT *
FROM customers
WHERE birth_date > '1990-01-01' OR points > 1000
-- NOT用法
SELECT *
FROM customers
WHERE NOT (birth_date > '1990-01-01' OR points > 1000)
c.IN运算符
作用:用于判断某字段的值是否属于in列表中的某一项
SELECT *
FROM customers
WHERE state IN ('VA','FL','GA')
d.BETWEEN运算符
作用:表达范围
注意:闭区间,包含两端点
SELECT *
FROM customers
WHERE points BETWEEN 1000 AND 3000
e.LIKE运算符(_代表单个字符,%代表任意字符)
作用:模糊查找,查找具有某种模式的字符串的记录/行
SELECT *
FROM customers
WHERE last_name LIKE '%B_'
f.REGEXP运算符
正则表达式,在搜索字符串方面更为强大,可搜索更复杂的模板
SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose$'
SELECT *
FROM customers
WHERE last_name REGEXP '[a-h]e'
g.IS NULL运算符
作用:找出空值,找出有某些属性缺失的记录
SELECT *
FROM customers
WHERE phone IS NULL
3.ORDER BY子句
作用:排序
语法:
SELECT 列名称
FROM 表名称
WHERE 筛选条件
ORDER BY 排序列表[asc/desc]
SELECT*
FROM order_items
WHERE order_id = 2
ORDER BY quantity * unit_price DESC
4.LIMIT子句
作用:限制返回结果的记录数量,"前N个 或 M个后的前N个 "
语法:
SELECT 列名称
FROM 表名称
LIMIT N/M,N
SELECT *
FROM customers
ORDER BY points DESC
LIMIT 3