当前位置:
文档之家› 第4章 结构化查询语言SQL(Structured Query Language).
第4章 结构化查询语言SQL(Structured Query Language).
学生
课程
学生号
姓名
性别 专业
0101001 王明 0102005 刘芹
0202003 张鲁 0303001 赵红 0304006 刘川 0501001 张江 0502003 沈艳
男 女
男 女 男 男 女
计算机 电子
电子 电气 通信 通信 电子
课程 课程名 号 C001 C++语言
课程 学分 4
C004 操作系统 3
E002 电子技术 5 X003 信号原理 4
X005 软件工程 4
选课
学生号 0101001 0101001 0102005 0202003 0202003 0202003 0303001 0304006
课程号 C001 C004 E002 C001 C004 X003 C001 E002
成绩 78 62 73 94 65 80 76 72
商品表1
商品代号 DBX-134 DSJ-120 DSJ-180 DSJ-340 KTQ-12 WBL-6 XYJ-13 XYJ-20 分类名 电冰箱 电视机 电视机 电视机 空调器 微波炉 洗衣机 洗衣机 单价 1456 1865 2073 3726 2800 640 468 873 数量 8 15 10 5 12 10 20 12
第4章 结构化查询语言
SQL(Structured Query Language)
SQL简介
• 定义: SQL是Structured Query Language的缩写,是美国国家标准局 (ANSI)从1986年首次推出的一种 关系数据库语言。相继的版本SQL86、 SQL89、 SQL2和SQL3。 • 功能:数据定义(DDL)、数据操纵 (DML)和数据控制(DCL)
2、select x.*, 品牌 from 商品表1 x inner join 商品表2 y on x.商品代号=y.商品代号 where 数量<all (select 数量 from 商品表1 where 分类名=‘洗衣机’ or分类名=‘微 波炉’ )
4.1 数据库模式的建立和删除
• 建立数据库 • 删除数据库
4.2 表结构的建立与删除
• 建立表结构 • 修改表结构 • 删除表结构
4.3 表内容的插入、修改和删除
• 插入记录 • 修改记录 • 删除记录
4.4 视图的建立、修改和删除
• • • • 建立视图 修改视图内容 修改视图定义 删除视图
从商品表1中查询出不同分类名的个数。
例4-8
从商品表1中查询出所有商品的最大数量、最小数量、平均数量及 数量总合。
例4-9
从商品表1中查询出分类名为“电视机”的商品的种数、最高价、 最低价及平均价。
例4-10
从商品表1中查询出所有商品的最高价值、最低价值及总价值。
• 4.5.3 from 选项 from 表名 功能:凡是SQL语句涉及到的源表全部需 要在这里罗列出来。可以给更改表名。
例4-12、
从商品表1总查询出单价大于1500,同时数量大于等于 10的商品。
例4-13
从商品库中查询出产地为南京或无锡的所有商品的商 品代号、分类名、产地和品牌。
例4-14
从教学库中查询出选修至少两门课程的学生学号。
例4-15
从教学库中查询出选修了课程名为“操作系统”课程 的每个学生的姓名。
• 新版SQL:为了使查询语句更加结构化,已经把 查询连接条件从where选项中转移到from选项中, 并且还丰富了连接的功能。(左连接、右连接) 中间连接: from <表名1> inner join <表名2> on < 表名1>.<连接列名1> <比较符> <表名2>.<连接 列名2> 左连接: from <表名1> left[outer] join <表名2> on <表名1>.<连接列名1> <比较符> <表名2>.<连接 列名2> 右连接: from <表名1> right[outer] join <表名2> on <表名1>.<连接列名1> <比较符> <表名2>.< 连接列名2>
例4-16
1)从教学库中查询出所有学生的 选课情况,要求没选修任何课程 的学生信息也要反映出来。 2)查询出所有课程被学生选修的 情况。 3)查询出所有电子专业的学生选 课的全部情况。
格式一
• 〈列名〉〈比较符〉ALL(〈子查询〉) 当子查询的查询结果中的每一个都满足所 给的比较条件时,此比较式的值才为真, 否则为假。 1、select * 子查询 from 商品表1 where 单价>all (select 单价 from 商品表1 where 分类名=‘洗衣机’)
4.5 SQL查询
• 4.5.1 语句格式
Select [ALL|DISTINCT] <表达式1>[[AS]<列名1>][,| <表达式2>[[AS]<列名2> …
[ INTO ] from [where ..] [Group by..] [Having..] [Order by..]
•
4.5.2 Select 选项
商品表2
商品代号 DBX-134 DSJ-120 DSJ-180 DSJ-340 KTQ-12 WBL-6 XYJ-13 XYJ-20 产地 北京 南京 南京 北京 无锡 青岛 无锡 山西 品牌 雪花 熊猫 熊猫 牡丹 春兰 海信 小天鹅 海棠
例4-1
从商品表1中查询出每种商品的分类名。
例4- 2
例4-11
从教学库中查询出每个学生 选修每门课程的学生号、姓名、 课程号、课程名、成绩数据。
• 4.5.4 where 选项 where 条件 功能:1、包含筛选条件 (可以有多个筛选 条件,之间用AND,OR,NOT连接。) 。 2、指定源表之间的连接条件(如果多 于一个源表)。自然连接(=)、不等值连 接(<,<=,>,>=,<>)。 3、1和2之间用AND连接。
从商品表1中查询出所有商品的不同分类名。
例4- 3 例4- 4
从商品表1中查询出单价低于2000元的每一种产品的 商品代号、分类名和单价。
从商品表1中查询出分类名为“电视机”的所有商品。
例4-5从商品表1中查询来自每一种商品的价值。例4-6
从商品表1和商品表2中查询出按商品代号进行自然连接的结果。
例4-7