数据库技术及应用:第三章 oracle查询.pptx
第二章
Oracle查询基础
预习检查
o查询的基本语法
0从学生表中查询全部的数据,SQL语句怎么写?
0查询排序使用的关键字是什么?
本章任务
O查询学生信息
O查询考试信息
0使用LIKE、BETWEEN、IN进行模糊查询
0使用聚合函数统计和汇总查询信息
本章目标
O掌握查询的机制
O使用SELECT语句进行条件查询
O使用表达式、运算符和函数实现查询
O掌握查询排序
查询产生一个虚拟表
看到的是表形式显示的结果,但结果并不真正存储
每次执行查询只是从数据表中提取数据,并按照表的形式显示出来
查询结果集
ABCDEFG
SQLServer
SELECT*FROMSALES
查询请求
客户端程序
学生编号学生姓名地址所在班级
001张明全湖南长沙S201
002李菲湖北宜昌S202
003于寄谦甘肃天水S204
004刘国正山东荷泽S201
005周接轮台湾新竹S204
006巩小妹香港龙湾S203
007巩大妹香港龙湾S203
008张明每北京顺义S202
009矛十人四川棉阳S204
010罗林光陕西临潼S202
002李菲湖昌S202
008张明敏北京顺义S202
010罗林光陕西临潼S202
SELECT*FROMStudentsWHERE所在班级=S202
查询机制简介
列名称
表名
过滤条件
排序条件
SELECT
SCode,
SName,
SAddress
FROM
Students
WHERE
SSEX=0
ORDERBY
SCode
语法
示例
查询语法
数据查询基础2-1
查询全部的行和列
SELECT*FROMStudents
查询全部学生信息
SELECT*FROMCourse
查询全部科目信息
查询部分列
SELECTSName,SAddressFROMStudents
查询学生的姓名和地址
示例
数据查询基础2-2
查询部分行或列
SELECTSName,SGradeFROMStudents
WHERESAddress=北京
查询“北京”地区的学生姓名和年级
SELECTSName,SAddressFROMStudents
WHERESsex=1
查询女学生姓名和地址
示例
数据查询-列别名
使用AS来命名列
SELECTSCodeAS学生编号,SNameAS学生姓名,
示例SAddressAS学生地址
FROMStudents
WHERESAddress河南新乡
SELECTFirstName++LastNameAS姓名
FROMEmployees
使用=来命名列
SELECT姓名=FirstNamFROMEmployees
注意:
1.+连接的数据类型必须兼容
2.如果+连接字符型数据,结
果为字符串数据的连接
3.如果+连接数值型数据,结
果为数值的和
示例
SELECTSNameFROMStudentsWHERESEmailISNULL
O原来有数据,但数据被清除的列这样能怎样查出来?
使用常量列
SELECT姓名=SName,地址=SAddress,‘北京新兴桥AS学校名称FROMStudents
数据查询-空行、常量列
查询空行
示例
提问
示例
提问0与取固定的数据行相比,提取固定百分比数据还能得到何种信息?
查询单列排序
升序排列
SELECTStudentID,ScoreFROMScoreORDERBYScore
示例
按多列排序
SELECTStudentIDAS学生编号,CourselDAS课程ID,ScoreAS成绩
FROMScore
WHEREScore60
ORDERBYCourselD,Score
2、排序中的列,可以使用表达式吗?
——如果不可以,请说明原因——如果可以,请举例说明
提问1、如果成绩按升序,课程编号按降序