赞
踩
对数据库和数据库表中的数据执行添加、删除、修改和查询等操作。(sql语句是不区分大小写的)
select是查询数据,从数据库中获得信息。select语句也可以用来检索不引用任何表的计算行。例如,直接通过select语句计算12+23相加后的结果。
select基本语法:
select [straight_join] [sql_small_result] [sql_big_result]
[high_priority]
[distinct | distinctrow | all]
select_expression, ...
[into {outfile | dumpfile} 'file_name' export_options]
[from table_references
[where where_definition]
[group by col_name, ...]
[having where_definition]
[order by {unsigned_integer | col_name | formula} [asc |
desc] , ...]
[limit [offset, ] rows]
[procedure procedure_name] ]
上述语法中,select_expression表示需要查询的字段;table_references表示从此处指定的表或视图中查询数据;where where_definition表示指定查询的条件;col_name表示按照指定的字段进行分组;having where_definitio表示满足这个条件的表达式才能输出;order by中的内容表示按照指定的字段进行排序,其中的asc表示按升序进行排序,这是默认值,desc表示按降序的顺序进行排序;procdure proedure_name表示指定的存储过程名称。
(使用select语句时,所有要使用的关键词必须精确地按照上面的顺序指定,否则会出现错误。例如,having子句必须跟在group by子句之后,order by子句之前。)
select 字段1,字段2,字段3,字段4,字段5,...... from table_name;
select * from table_name;
select 查询字段 form table_name where 条件表达式;
根据指定条件可以完成单条数据查询,也可以完成根据多个条件进行查询。
查询条件 | 符号或关键字 |
---|---|
比较 | =、<、<=、>、>=、!=、!>、!<、<> |
指定范围 | between and、not between and |
指定集合 | in、not in |
匹配字符 | like、not like |
是否为空值 | is null、is not null |
多个查询条件 | and、 or |
通过使用group by实现分组查询,它可以将查询的结果按某个字段或多个字段进行分组,指定字段的值相同为一组。
【group by 字段名 [having 条件表达式] [with rollup]】
上述中“字段名”是指按照该字段的值进行分组,指定多个字段时中间使用逗号进行分隔。“having 条件表达式”和with rollup都是可选的,前者用来限制分组后的显示,满足条件表达式的结果将会被显示出来;后者将会在所有记录的最后加上一条,该记录是上面所有记录的总和。
单独使用group by关键字,只显示一个分组的一条记录。
group by后可以跟多个字段实现分组查询。
group by可以与group_concat()函数一起使用,这样每个分组中指定字段的值都将显示出来。如:select 字段1,group——concat(字段2) from table_name group by 字段1;
group by之后可以跟having语句,满足having指定的条件表达式时,其结果将会被显示出来。一般情况下,having语句会和group by一起使用。
【having条件表达式可以限制查询结果的现实情况,虽然它与where条件查询都是用来限制显示的,但是它们所起到的作用不一样。where条件查询作用于表或试图,是表和试图的条件查询;而having指定的查询作用于分组后的记录,用于选择满足条件的分组】
order by 字段名 [asc | desc]
通过使用limit可以指定查询结果从哪条记录开始显示,还可以指定一共显示多少条记录。
使用limit时有两种方式:一种是不指定初始位置,另一种是指定初始位置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。