03-简单查询
03-简单查询
课程目标
了解SQL语言简介、SQL语言的主要特点、SQL语言的命令动词。
掌握在MySQL数据库中使有SQL语句进行简单查询。
3.1 SQL语言简介
SQL是Structure Query Language(结构化查询语言)的缩写.可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包含数据定义,数据操纵和数据控制功能等部分。
SQL已经成为关系数据库的标准数据语言,所以现在所有的关系数据库管理系统都支持SQL。
3.2 SQL语言的主要特点
1.SQL是一种一体化的语言,它包括了数据定义,数据查询,数据操纵和数据控制等方面的功能,可以完成数据库活动中的全部工作。
2.SQL语言是一种高度非过程化的语言,它没有必要一步步地告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。
3.SQL语言非常简洁,虽然SQL语言功能很强,但它只有为数表多的几条命令,下表给出了分类的命令动词。另外,SQL的语法也非常简单,它很接近自然语言(英语),因此容易学习和掌握。
4.SQL语言可以直接以命令方式交互使用(通过可视化工具的查询窗口命令窗口来制做查询),也可以嵌入到程序设计语言中以程序方式使用(例如Java语言中的JDBC技术).
3.3 SQL语言的命令动词
SQL功能 命令动词
数据查询 select
数据定义 create drop alter
数据操纵 insert update delete
数据控制 grant revoke
3.4 SQL语言的查询功能
SQL语言的核心是查询。SQL语言的查询命令也称作select命令,它的基本形式由select🡪from🡪where查询块组成,多个查询块也可以嵌套执行SQL语句,select命令的语法格式如下:
select [all|distinct] [top n [percent]] [表别名].检索项1 [as 列名1] [,[表别名].检索项2 [as 列名2]…] ;
from [数据库名!] 表名[[as] 逻辑别名] ;
[[inner | left | right | full] join 数据库名!] 表名 [[as] 指定别名] [on 联接条件] ;
[where 联接条件和筛选条件] ;
[group by 分组字段] ;
[having 限定分组条件] ;
[union [all] select 命令] ;
[order by 排序查询结果表达式 [asc|desc] [,排序表达式 [asc|desc]……] ;
从select的命令格式来看似乎非常复杂,实际上只要理解了命令中各个短语的含义,SQL select还是很容易掌握的,其中方要短语的含义如下:
*select 说明要查询的字段,各字段之间要用逗号分开(即指定查询哪些数据);
*from 说明要查询的数据来自哪个(些)表,可以基于单个表或多个表进行查询(即指定查询的数据源);
*where说明查询条件,即选择元组的条件(即选择表中横向记录的条件);
*group by 短语用于对查询结果进行分组,可以利用它进行分组汇总查徇;
*having短语必须跟随group by使用,它用来限定分组必须满足的条件;
*order by 短语用来对查询的结果进行排序。
以上短语是学习和理解SQL select命令必须要掌握的。
select 查询命令的使用非常灵活,用它可以构造各种各样的查询。本模块将通过大量的实例来介绍select命令的使用,在例子中再具体解释各个短语的含义。
3.5 查询一个字段
查询员工姓名,如下图3-1所示:
select ename from emp; | |
图3-1
select语句后面跟的是字段名称,select是关键字,select和字段名称之间采用空格隔开,from表示将要查询的表,它和字段之间采用空格隔开
3.6 查询多个字段
查询员工的编号和姓名,如下图3-2所示:
select empno, ename from emp; |
图3-2
查询多个字段,select中的字段采用逗号间隔即可,最后一个字段,也就是在from前面的字段不能使用逗号了。
可以将所有的字段放到select语句的后面,这种方案不方便,但是比较清楚,我们可以采用如下便捷的方式查询全部字段,如下图3-3所示:
select * from emp; |
图3-3
采用select * from emp,虽然简单,但是*号不是很明确,建议查询全部字段将相关字段写到select语句的后面,在以后java连接数据库的时候,是需要在java程序中编写SQL语句的,这个时候编写的SQL语句不建议使用select * 这种形式,建议写明字段,这样可读性强.
3.8 计算员工的年薪
列出员工的编号,姓名和年薪,如下图3-4所示:
select empno, ename, sal*12 from emp; |
图3-4
在select语句中可以使用运算符,以上存在一些问题,年薪的字段名称不太明确
3.9 将查询出来的字段显示为中文
如下图3-5所示:
select empno as ‘员工编号’, ename as ‘员工姓名’, sal*12 as ‘年薪’ from emp; 注意:字符串必须添加单引号 | 双引号 |
图3-5
可以采用as关键字重命名表字段,其实as也可以省略,如:
select empno "员工编号", ename "员工姓名", sal*12 "年薪" from emp; |
3.10 本章小结
本章主要阐述了SQL语句中的简单查询。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY