语法格式:
SELECT {* | <字段列名>}
[
FROM <表1>,<表2>...
[ WHERE <表达式>
[ GROUP BY <group by definition>
[ HAVING <expression> [{<operation> <expression>}... ]]
[ ORDER BY <order by definition> ]
[ LIMIT [ <offset>, ] <row count> ]
]]
]
语法说明:
语法格式:
SELECT * FROM 表名;
一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符"*"。

语法格式:
SELECT <字段名1>,<字段名2>,... FROM <表名>;

语法格式:
{ <表名> | <列名> } [AS] <别名>
语法说明:

语法格式:
SELECT DISTINCT <字段名> FROM <表名>;

语法格式:
<LIMIT> [<位置偏移量>,] <行数>
语法说明:

语法格式:
ORDER BY { <列名> | <表达式> | <位置> } [ ASC | DESC ]
语法说明:



在SELECT语句中,可以使用WHERE子句来指定查询条件,从FROM子句的中间结果中选取适当的数据行,达到数据过滤的效果。
WHERE <查询条件> { <判定运算1>,<判定运算2>,... }
| 比较运算符 | 说明 |
|---|---|
| = | 等于 |
| < | 小于 |
| <= | 小于等于 |
| > | 大于 |
| >= | 大于等于 |
| <=> | 安全的等于,不会返回UNKNOWN |
| <>或!= | 不等于 |
| IS NULL或ISNULL | 判定一个值是否为NULL |
| IS NOT NULL | 判定一个值是否不为NULL |
| LEAST | 当有两个或多个参数时,返回最小值 |
| GREATEST | 当有两个或多个参数时,返回最大值 |
| BETWEEN AND | 判定一个值是否在另外两个值之间 |
| IN | 判定一个值是IN列表中的任意一个值 |
| NOT IN | 判定一个值不是IN列表中的任意一个值 |
| LIKE | 通配符匹配 |
| REGEXP | 正则表达式匹配 |
| 算术运算符 | 说明 |
|---|---|
| + | 加法运算 |
| - | 减法运算 |
| * | 乘法运算 |
| / | 除法运算 |
| % | 求余运算 |
| 逻辑运算符 | 说明 |
|---|---|
| NOT或者! | 逻辑非 |
| AND或者&& | 逻辑与 |
OR或者|| |
逻辑或 |
| XOR | 逻辑异或 |
| 位运算符 | 说明 |
|---|---|
| |
按位或 |
| & | 按位与 |
| ^ | 按位异或 |
| << | 按位左移 |
| >> | 按位右移 |
| ~ | 按位取反,反转所有比特 |

案例:查询姓名为“Green”的学生信息

案例:查询年龄小于23岁的学生信息

使用SELECT查询时,在WHERE子句中使用AND连接两个甚至多个查询条件。
案例:查询年龄小于23岁,性别为女的学生信息

案例:查询age大于21,height大于等于175的学生信息

语法格式:
<表达式> [NOT] LIKE <表达式>
字符串匹配是一种模式匹配,使用运算符LIKE设置过滤条件,过滤条件使用通配符进行匹配运算,而不是判断是否相等进行比较。MySQL支持的通配符:百分号(%):匹配任何字符串、下划线(_):只匹配单个字符
案例:查询姓名以"J"开头的学生信息

案例:查询所有姓名中包含"e"字母的学生信息

案例:查询姓名由3个字母组成的学生信息

BETWEEN AND用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结算值。
案例:查询login_date在2015-09-10和2016-01-15之前的学生信息

原文:https://www.cnblogs.com/Cyzhouke/p/13737307.html