该语句用于查询表中的内容。
基本查询
格式
SELECT
[ALL | DISTINCT]
selectexpr [AS othername] [, selectexpr ...]
[FROM table_references]
[WHERE where_conditions]
[GROUP BY group_by_list]
[HAVING search_confitions]
[ORDER BY order_list]
[LIMIT {[offset,] rowcount | rowcount OFFSET offset}]
[FOR UPDATE];
SELECT子句说明如下所示。
子句 | 说明 |
ALL | DISTINCT | 在数据库表中,可能会包含重复值。指定“DISTINCT”,则在查询结果中相同的行只显示一行;指定“ALL”,则列出所有的行;不指定时,默认为“ALL”。 |
select_expr | 列出要查询的列名,用“,”隔开。也可以用“*”表示所有列。 |
AS other_name | 为输出字段重新命名。 |
FROM table_references | 指名了从哪个表或哪些表中读取数据。(支持多表查询) |
WHERE where_conditions | 可选项,WHERE子句用来设置一个筛选条件,查询结果中仅包含满足条件的数据。where_conditions为表达式。 |
GROUP BY group_by_list | 用于进行分类汇总。 |
HAVING search_confitions | HAVING子句与WHERE子句类似,但是HAVING子句可以使用累计函数(如SUM,AVG等)。 |
ORDER BY order_list [ASC | DESC] | 用来按升序(ASC)或者降序(DESC)显示查询结果。不指定ASC或者DESC时,默认为ASC。 |
[LIMIT {[offset,] row_count |row_count OFFSET offset}] | 强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。 如果只给定一个参数,它表示返回记录行的最大数目,偏移量为0。 |
FOR UPDATE | 对查询结果所有行上排他锁,以阻止其他事务的并发修改,或阻止在某些事务隔离级别时的并发读取。 |
SELECT
[ALL | DISTINCT]
select_list
[FROM DUAL [WHERE where_condition]]
[LIMIT {[offset,] rowcount | rowcount OFFSET offset}];
SELECT ... FOR UPDATE [WAIT n| NOWAIT];
SELECT * FROM a FOR UPDATE;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。