MySQL8.0关系数据库基础教程(三)-select语句详解
发布日期:2021-06-30 12:22:50
浏览次数:3
分类:技术文章
本文共 1071 字,大约阅读时间需要 3 分钟。
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://javaedge.blog.csdn.net/article/details/104337906 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月20日 20时56分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PDFBox学习总结
2019-04-30
TestNG入门程序
2019-04-30
yum源配置
2019-04-30
tar命令解压文件后造成目录权限更改
2019-04-30
检测到会话cookie中缺少HttpOnly属性
2019-04-30
Centos下Yum安装PHP5.5,5.6
2019-04-30
zabbix安装搭建php环境yum语句
2019-04-30
Linux下配置APACHE支持PHP环境
2019-04-30
Ubuntu忘记超级用户root密码,重新设置密码
2019-04-30
Ubuntu下使用Vi是方向键变乱码 退格键不能使用的解决方法
2019-04-30
redis的安装、启动、停止
2019-04-30
Linux下防火墙开启相关端口及查看已开启端口
2019-04-30
一次zabbix连接不上mysql数据库的经历
2019-04-30
Zabbix error - Invalid first parameter.
2019-04-30
通过maven打包依赖jar,打包主类,在pom.xml中设置
2019-04-30
redis中pipeline的使用
2019-04-30
linux命令seq产生序列
2019-04-30
apache配置https
2019-04-30