指定需要使用的数据库: use 库名;工具(mysql workbench)
1. 基本查询
语法:
select 查询列表 from 表名;
select ID,NAME from 表名;
select * from 想要查询的表格 where 查询条件 GROUP BY 分组设定 HAVING 分组条件 ORDER BY 排序设定 LIMIT 限制设定。
如果目前使用中的数据库是「world」,你不用先使用「USE cmdev」语句切换使用中的数据库,可以使用下列的语法查询「cmdev」数据库中的「emp」数据表:
SELECT * FROM cmdev.emp;
****查询结果使用别名: AS
*****条件查询
一般的条件和逻辑运算符,已经可以应付大部份的查询条件需求。下列还有一些可以用在特殊用途或是提供替代写法的条件设定:
BETWEEN … AND …:范围比较
IN (…):成员比较
IS:是…
IS NOT:不是…
LIKE:像…
使用「BETWEEN … AND …」的条件设定会包含指定的数据,所以下列两个查询条件所得到的结果就不一样了
「 IN (…)」使用在一组成员数据的比对条件设定:
「NULL」值的判断,不可以使用判断一般数据的条件设定:
在「LIKE」后面的「样版」字符串中,会使用到下列两种「样版字元」:
%:0到多个任何字元
_ :一个任何字元
排序,一般的查询通常会有数据排序上的需求,所以你会使用「ORDER BY」子句:
having子句可以让我们筛选成组后的各种数据,where子句在聚合前先筛选记录,也就是说作用在group by和having子句前。而having子句在聚合后对组记录进行筛选。
示例:
select类别, sum(数量) as数量之和from A
groupby类别
havingsum(数量) >18
示例:Having和Where的联合使用方法
select类别, SUM(数量)from A
where数量>8
groupby类别
havingSUM(数量) >10
having一般跟在group by之后,执行记录组选择的一部分来工作的。where则是执行所有数据来工作的。
再者having可以用聚合函数,如having sum(qty)>1000
「LIMIT」子句指定回传纪录的数量:
使用「DISTINCT」的话,数据库会特别执行回传纪录是否重复的检查