1 查询指定字段
在 employee 表找出所有员工的姓名, 性别和电子邮箱.
SELECT 表示查询, 随后列出需要返回的字段, 字段间逗号分隔
FROM 表示要从哪个表中进行查询
分号为语句结束符
这种查询表中指定字段的操作在关系运算中被称为投影(Projection)
使用 SELECT 子句进行表示. 投影是针对表进行的垂直选择, 保留需要的字段用于生成新的表
投影操作中包含一个特殊的操作, 就是查询表中所有的字段.
2 查询全部字段
'*' 表示全部字段
数据库在解析该语句时, 会使用表中的字段名进行扩展:
- SELECT emp_id, emp_name, sex, dept_id, manager,
- hire_date, job_id, salary, bonus, email
- FROM employee;
虽然星号可以便于快速编写查询语句, 但是在实际项目中不推荐使用:
程序可能并不需要所有的字段, 避免返回过多的无用数据
当表结构发生变化时, 星号返回的信息也会发生改变
除了查询表的字段之外, SELECT 语句还支持扩展的投影操作, 包括基于字段的算术运算, 函数和表达式等.
3 多字段查询
返回员工的姓名, 一年的工资 (12 个月的月薪) 以及电子邮箱的大写形式:
结果中, 返回字段的名称不是很好理解; 能不能给它指定一个更明确的标题呢?
4 别名(Alias)
为了提高查询结果的可读性, 可以使用别名为表或者字段指定一个临时的名称. SQL 中使用关键字 AS 指定别名.
别名中的关键字 AS 可以省略.
为 employee 表指定了一个表别名 e, 然后为查询的结果字段指定了 3 个更明确的列别名(使用双引号). 在查询中为表指定别名之后, 引用表中的字段时可以加上别名限定, 例如 e.emp_name, 表示要查看哪个表中的字段.
在 SQL 语句中使用别名不会修改数据库中存储的表名或者列名, 别名只在当前语句中生效.
5 注释
分为单行注释和多行注释
单行注释以两个连字符 (--) 开始, 直到这一行结束
SQL 使用 C 语言风格的多行注释(/* ... */)
# 也可以用于表示单行注释.
6 无表查询
计算一个表达式的值:
用于快速查找信息. 这种语法并不属于 SQL 标准, 而是数据库产品自己的扩展.
7 总结
SQL 不仅仅能够查询表中的数据, 还可以返回算术运算, 函数和表达式的结果. 在许多数据库中, 不包含 FROM 子句的无表查询可以用于快速获取信息. 另外, 别名和注释都可以让我们编写的 SQL 语句更易阅读和理解.
来源: https://www.cnblogs.com/JavaEdge/p/12319346.html