java mysql 语法解析_MySQL8.0关系数据库基础教程(三)-select语句详解

1 查询指定字段

在 employee 表找出所有员工的姓名、性别和电子邮箱。

322038dd9833300f5f163640bc9e62ae.png

39af827ae00f00d6a6b56cc2bc9877fd.png

SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔

FROM 表示要从哪个表中进行查询

分号为语句结束符

这种查询表中指定字段的操作在关系运算中被称为投影(Projection)

548ee268d0fa37bdf5b69cf8d4d259cc.png使用 SELECT 子句进行表示。投影是针对表进行的垂直选择,保留需要的字段用于生成新的表

投影操作中包含一个特殊的操作,就是查询表中所有的字段。

2 查询全部字段

‘*’ 表示全部字段

f76619b4122bce343e5cca4cb30d55a2.png

8a83d615ab8f59f9607414fe37e007ef.png

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

SELECT emp_id, emp_name, sex, dept_id, manager,

hire_date, job_id, salary, bonus, email

FROM employee;

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

程序可能并不需要所有的字段,避免返回过多的无用数据

当表结构发生变化时,星号返回的信息也会发生改变

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

3 多字段查询

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

d04eaa9b286346dc98ed809c2033a591.png

0b29190124409c72a917698f556af316.png

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

4 别名(Alias)

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

6bd61b07e4f343f792b0b80e3a813352.png 别名中的关键字 AS 可以省略。

2572a52754defcc3b5909a12113b13af.png

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

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

5 注释

分为单行注释和多行注释

单行注释以两个连字符(--)开始,直到这一行结束

SQL 使用 C 语言风格的多行注释(/* … */)

67bed1dad5ee44687dbcafe06bb968d9.png

# 也可以用于表示单行注释。

6 无表查询

计算一个表达式的值:

0a8107ddec0d43dd1e97212e865fce6a.png

4a6947ddeeab5276e20a2c552ffd59d9.png

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

7 总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值