MySQL- 4查询语法
练习来源:http://www.manongjc.com/mysql_basic/mysql-select-basic.html
哈哈哈~在Windows自带的mysql -workbench 中加载范例资料库后,我将操作页面切换到了heidisql。如下:
heidisql页面,左侧为table的信息 ,右上角可以敲相关的code, 而右下角则显示其结果
mysql 查询语法如下:
SELECT
column_1, column_2, ...
FROM
table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length;
该SELECT
语句由几个子句组成,如下面的列表所述:
- SELECT后面以逗号分隔的字段名称或星号(*),表示要返回的列。
- FROM指定要查询数据的表或视图。
- JOIN基于某些连接条件从其他表获取数据。
- WHERE过滤结果集中的行。
- GROUP BY将数据分组并对每个组应用聚合函数。
- HAVING基于GROUP BY子句定义的组筛选组。
- ORDER BY指定用于排序字段。
- LIMIT约束返回的行数。
SELECT
和FROM查询语句中必须的
。其他部分是可选的。
在测试中我们可以使用星号(*)代替表中的所以列,但实际上,您应该列出要明确获取数据的列。
distinct:使用distinct子句删除重复行,语法如下:
SELECT DISTINCT
columns
FROM
table_name
WHERE
where_conditions;
在查询中,distinct会将所有null视为同一个值,最终只会输出一个null
SELECT DISTINCT
state, city
FROM
customers
WHERE
state IS NOT NULL
ORDER BY state , city;
没有使用distinct函数:
SELECT
state, city
FROM
customers
WHERE
state IS NOT NULL
ORDER BY state , city;
输出结果会有相同数据显示:
group by 函数:
SELECT
state
FROM
customers
GROUP BY state;
group by 函数与distinct函数相似,前者将资料聚合,而后者是选择将重复值删除。
计算唯一值,可将distinct与聚合函数相集合。