select查询语句
SELECT <COLUMN1,COLUMN2,COLUMN3…>
FROM <table_name> [WHERE <条件表达式>]
[GROUP BY COLUMN1,COLUMN2,COLUMN3…|HAVING <条件表达式>]
[ORDER BY <COLUMN1,COLUMN2,COLUMN3…>[ASC或DESC]]
使用AS关键字显示列标题
SELECT 字段名1 AS 列标题1,字段名2 AS 列标题2…
FROM table_name
使用DISTINCT关键字过滤重复行
SELECT DISTINCT 字段名
FROM table_name
LIMIT子句可以被用于强制select语句返回指定的记录数
SELECT *
FROM table_name LIMIT [offset],rows
连接语法
内连接语法
SELECT 字段名称
FROM table_name1 [INNER] JOIN table_name2 ON
table_name1.column1=table_name2.column2
[WHERE condition]
自然连接语法:
SELECT 字段名称
FROM table_name1 NATURAL JOIN table_name2
[WHERE condition]
多表连接查询语法:
SELECT 字段名称
FROM table_name1 JOIN table_name2 ON
table_name1.column1=table_name2.column2_1 JOIN table_name3 ON
table_name2.column2_2=table_name3,column3
[WHERE condition]
简单多表连接语法:
SELECT 字段名称
FROM table1,table2,table3
WHERE table_name1.column1=table_name2.column2_1
AND table_name2.column2=table_name3.column3
[AND 其他条件]
多连接查询语法
SELECT 字段名称
FROM table_name1 LEFT|RIGHT|FULL [OUTER] JOIN table_name2
ON table_name1.column1=table_name2.column2
小知识
ceil(a) | 向上取整 |
floor(a) | 向下取整 |
round(a) | 四舍五入 |
<=> | 安全等于,可以比较null |
<>或!= | 不等于 |
IS NULL | 判断一个值是否为null |
IS NOT NULL | 判段一个值是否不为null |
AND或&& | 并且 |
OR或 | |
NOT或! | 取反 |
XOR | 逻辑异或 |
% | 通配符可以匹配0到多个任意字符 |
_ | 仅匹配任意一个字符(若匹配两个则使用“_ _”) |
[] | 表示取值范围 |
IN | 用于判断一个值是否在一个指定的数据集合之内 |
between…and | 介于两个值之间的数据(数字、日期类型)包括界值 |
MySQL进行数值比较时规则如下:
- 若有一个或两个参数为null,则比较运算的结果为null
- 若同一个比较运算中的两个参数都是字符串,按字符串进行比较
- 同正数,整数进行比较
- 一个字符串和一个数字,自动将字符串转换为数字