MySQL8.0关系数据库基础教程(三)-select语句详解

1 查询指定字段

  • 在 employee 表找出全部员工的姓名、性别和电子邮箱。


  • SELECT 表示查询,随后列出须要返回的字段,字段间逗号分隔
  • FROM 表示要从哪一个表中进行查询
  • 分号为语句结束符

这种查询表中指定字段的操做在关系运算中被称为投影(Projection)
使用 SELECT 子句进行表示。投影是针对表进行的垂直选择,保留须要的字段用于生成新的表sql

投影操做中包含一个特殊的操做,就是查询表中全部的字段。数据库

2 查询所有字段

  • ‘*’ 表示所有字段


数据库在解析该语句时,会使用表中的字段名进行扩展:segmentfault

SELECT emp_id, emp_name, sex, dept_id, manager,
       hire_date, job_id, salary, bonus, email
  FROM employee;

虽然星号能够便于快速编写查询语句,可是在实际项目中不推荐使用:函数

  • 程序可能并不须要全部的字段,避免返回过多的无用数据
  • 当表结构发生变化时,星号返回的信息也会发生改变

除了查询表的字段以外,SELECT 语句还支持扩展的投影操做,包括基于字段的算术运算、函数和表达式等。spa

3 多字段查询

返回员工的姓名、一年的工资(12 个月的月薪)以及电子邮箱的大写形式:

3d

结果中,返回字段的名称不是很好理解;能不能给它指定一个更明确的标题呢?code

4 别名(Alias)

为了提升查询结果的可读性,可使用别名为表或者字段指定一个临时的名称。SQL 中使用关键字 AS 指定别名。

别名中的关键字 AS 能够省略。
blog

为 employee 表指定了一个表别名 e,而后为查询的结果字段指定了 3 个更明确的列别名(使用双引号)。在查询中为表指定别名以后,引用表中的字段时能够加上别名限定,例如 e.emp_name,表示要查看哪一个表中的字段。get

在 SQL 语句中使用别名不会修改数据库中存储的表名或者列名,别名只在当前语句中生效。博客

5 注释

分为单行注释和多行注释

  • 单行注释以两个连字符(--)开始,直到这一行结束
  • SQL 使用 C 语言风格的多行注释(//)

# 也能够用于表示单行注释。

6 无表查询

  • 计算一个表达式的值:


用于快速查找信息。这种语法并不属于 SQL 标准,而是数据库产品本身的扩展。

7 总结

SQL 不单单可以查询表中的数据,还能够返回算术运算、函数和表达式的结果。在许多数据库中,不包含 FROM 子句的无表查询能够用于快速获取信息。另外,别名和注释均可以让咱们编写的 SQL 语句更易阅读和理解。

本文由博客一文多发平台 OpenWrite 发布!
相关文章
相关标签/搜索