mysql--16100查询条件

来源:互联网 发布:head first java 翻译 编辑:程序博客网 时间:2024/06/05 15:13

SELECT select_expr[, select_expr …]

[

FROM table_references

[WHERE where_condition]

[GROUP BY {col_name | position} [ASC | DESC], …]

[HAVING where_condition]

[ORDER BY {col_name | expr | position} [ASC | DESC], …]

[LIMIT {[offset, ]row_count | row_count OFFSET offset}]

]

select_expr

查询表达式

没一个表达式表示想要的一列,必须有至少一个。

多个列之间以英文逗号分隔。

星号()表示所有列。tbl_name.可以表示命名表的所有列。

查询表达式可以使用[ AS ] alias_name为其赋予别名。

别名可用于GROUP BY,ORDER BY或HAVING子句。

where

[WHERE where_condition]
过滤
支持函数和表达式

GROUP BY

对查询结果分组
[GROUP BY {col_name | position} [ASC | DESC], …]

group by 1

HAVING

[HAVING where_condition]
作为groupby的条件指定
聚合函数 或者 条件出现在查找结果中

ORDER BY

[ORDER BY {col_name | expr | position} [ASC | DESC], …]
对查询结果集进行排序

LIMIT

限制返回结果
[LIMIT {[offset, ]row_count | row_count OFFSET offset}]

SELECT*FROM users LIMIT 2; 表示记两条记录,第0条开始
SELECT*FROM users LIMIT 3,2; 表示在第3条开始记录,共2条记录
从零开始

distinct

作用
结果集去重,并返回

举例
数据
select * from union_tab_2
id val
1 A
1 A
2 B
4 D
单列去重
select distinct id from union_tab_2
1
2
4
多列去重
select distinct id,val from union_tab_2
1 A
2 B
4 D

group by

作用
结果集去重,并返回

举例

WHERE 子句
请注意,我们在例子中的条件值周围使用的是单引号。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

or and
SELECT * FROM Persons WHERE (FirstName=’Thomas’ OR FirstName=’William’)
AND LastName=’Carter’

=
in
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围

like
“%” 可用于定义通配符(模式中缺少的字母)

% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]
或者
[!charlist]

SELECT * FROM Persons
WHERE City LIKE ‘N%’

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

not
通过使用 NOT 关键字,我们可以从 “Persons” 表中选取居住在不包含 “lon” 的城市里的人

http://www.cnblogs.com/beijingstruggle/p/5885137.html