4. MySQL SELECT 语法


select 语句适用于表和视图:

SELECT语法:

SELECT 语句用于表或者视图。一个表包含行与列,你可以想象一下excel表,你想查看行的自给或者列的子集,按条件筛选和隐藏列功能,当然也可以计算列(A1+B1),select 的功能就是引出你想要结果的列名。

查看数据集的employees表, 包含以下8列:

  • employee number,

  • last name,

  • first name,

  • extension,

  • email,

  • office code,

  • reports to,

  • job title。


SELECT 语句功能是控制哪些行和列显示,例如,你只对 first name, last name, job 或者你只想看哪些雇员的 job title 是reports to,select帮助你完成这些功能。


看一下 SELECT 语法规则:


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 对聚合之后的结果进行筛选;

  • ORDER BY 对某列进行排序;

  • LIMIT 对结果输出进行限制;


SELECT 和 FROM 关键字是必须的语句,其他为可选部分

稍后会对其他语句进行逐条讲解,本节主讲最简单的select语句。

MySQL SELECT 语句实例

SELECT语句提供查询功能,选取的列名用逗号来分隔,如果你想查询一下数据, first name, last name, job title可以用如下语句实现:


SELECT

lastname, firstname, jobtitle

FROM

employees;

尽管在 employees 表中有很多列,但是用 SELECT 语句就可以返回需要的3列,其中包括所有行,如下图中所示:

查询结果

如果你想得到表的所有列,你可以列举所有列名在select关键词后,同时你也可以用*来代表所有列,如下代码:

SELECT * FROM employees;

练习一下www.mysqltutorial.org

将返回所有列

你可以尝试用*号来练习,实际应用中最好用枚举法来实现,有如下几个原因:

  • 占用大量硬盘与带宽;

  • 如果你想要确定的几列,结果会更好组织与管理,如果有人改变了一些列,那么,用*号的结果是很尴尬的;

  • 未授权的用户会看到一些敏感数据,无法做到权限管理;

你可能感兴趣的:(4. MySQL SELECT 语法)