SELECT
SELECT
- 语法格式
1 2 3 4 5 6
SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } FROM tableExpression [ WHERE booleanExpression ] [ GROUP BY { groupItem [, groupItem ]* } ] [ HAVING booleanExpression ]
- 语法说明
SELECT语句用于从表中选取数据。
ALL表示返回所有结果。
DISTINCT表示返回不重复结果。
- 注意事项
- 所查询的表必须是已经存在的表,否则会出错。
- WHERE关键字指定查询的过滤条件,过滤条件中支持算术运算符,关系运算符,逻辑运算符。
- GROUP BY指定分组的字段,可以单字段分组,也可以多字段分组。
- 示例
找出数量超过3的订单。
1
SELECT * FROM Orders WHERE units > 3;
查询一组常量数据。
1
SELECT 'Lily', 'male', 'student', 17;
DISTINCT语句
- 功能描述
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT关键词用于返回唯一不同的值。
- 语法格式
1 2 3 4 5 6
SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } FROM tableExpression [ WHERE booleanExpression ] [ GROUP BY { groupItem [, groupItem ]* } ] [ HAVING booleanExpression ]
- 示例
查询所有资产类型,根据type去重:
SELECT DISTINCT type FROM security_resource;
WHERE过滤子句
- 语法格式
1 2 3
SELECT { * | projectItem [, projectItem ]* } FROM tableExpression [ WHERE booleanExpression ]
- 语法说明
利用WHERE子句过滤查询结果。
- 注意事项
- 所查询的表必须是已经存在的,否则会出错。
- WHERE条件过滤,将不满足条件的记录过滤掉,返回满足要求的记录。
- 运算符
操作符
说明
=
查询某字段值等于某数值的日志。
<>
查询某字段值不等于某数值的日志。
>
查询某字段值大于某数值的日志。
<
查询某字段值小于某数值的日志。
>=
查询某字段值大于或等于某数值的日志。
<=
查询某字段值小于或等于某数值的日志。
IN (‘value1’,’value2’)
查询某字段值是value1或value2的日志。
BETWEEN value1 and value2
查询某字段值处于value1和value2范围内的日志。
LIKE
模糊查询某字段值的关键字,如like ’%one%’,%是统配符可以代替任意字符。
IS NULL
查询某字段值为NULL的日志。
IS NOT NULL
查询某字段值为NOT NULL的日志。
- 示例
找出数量超过3并且小于10的订单。
1 2
SELECT * FROM Orders WHERE units > 3 and units < 10;
IN运算符
- 语法格式
1 2 3
SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } FROM tableExpression WHERE column_name IN (value (, value)* ) | query
- 语法说明
IN操作符允许在where子句中规定多个值。若表达式在给定的表子查询中存在,则返回 true 。
- 注意事项
子查询表必须由单个列构成,且该列的数据类型需与表达式保持一致。
- 示例
输出Orders中NewProducts中product的user和amount信息。
1 2 3 4 5
SELECT user, amount FROM Orders WHERE product IN ( SELECT product FROM NewProducts );