第4章关系数据库标准语言SQL.doc
《第4章关系数据库标准语言SQL.doc》由会员分享,可在线阅读,更多相关《第4章关系数据库标准语言SQL.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 关系数据库标准语言SQLSQL是structure query language (结构化查询语言)的缩写4.1 SQL概述主要特点 v SQL是一种一体化的语言;v SQL语言是一种高度非过程化的语言;v SQL语言非常简洁;v SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。SQL功能作用命令动词数据查询查询SELECT数据操纵插入INSERT更新UPDATE删除DELETE数据定义新建CREATE 删除DROP修改ALTER4.2 查询功能常用的SQL命令1SELECT 短语:用于说明要查询的数据。 2FROM 短语:用于说明要查询的数据来自哪个或
2、哪些表,可对单个表或多个表进行查询。3WHERE 短语:用于说明查询条件;如果是多表查询还可通过该子句指明表与表之间的联接条件,进行联接。4GROUP BY 短语:用于对查询进行分组,可利用它进行分组汇总。5HAVING 短语:跟随在GROUP BY 之后使用,它是用来限定分组,要求只有满足分组条件的记录才能进行分组查询。6ORDER BY 短语:用于对查询的结果进行排序。7AS短语:用于指定查询结果中字段的新名称;AS前的表达式可以是一个字段名、表达式、函数等。4DISTINCT短语:用于说明该短语将在查询结果中去掉重复值。9INTO TABLE短语:用于说明查询结果保存何处。等函数4.2.
3、1 简单查询格式: SELECT 选择字段 FROM 表 WHERE 条件例4.1从职工关系中检索所有工资值 SELECT 工资 FROM 职工DISTINCT 的作用是去除查询结果中的重复值例4.2检索仓库中的所有元组SELECT * FROM 仓库 *:表示通配符,代表表中所有的字段例4.3检索工资多于1230元的职工号 SELECT 职工号 FROM 职工 WHERE 工资1230例4.4检索那些仓库有工资多于1210元得职工 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资1210例4.5给出在仓库”WH1”或”WH2”工作并且工资少于1250元的职工号 SEL
4、ECT 职工号 FROM 职工 ;WHERE 工资1230 AND 职工.仓库号=仓库.仓库号例4.7找出工作面积大于400的仓库的职工号以及这些职工工作的城市 SELECT 职工号,城市 FROM 仓库,职工;WHERE 面积400 AND 职工.仓库号=仓库.仓库号4.2.3 嵌套查询例4.8那些城市至少有一个仓库的职工工资为1250元SELECT 城市 FROM 仓库 WHERE 仓库号 IN ;(SELECT 仓库号 FROM 职工WHERE 工资=1250) 例4.9查询所有职工的工资都多于1210元的仓库信息SELECT * FROM 仓库 WHERE 仓库号 NOT IN ;(S
5、ELECT 仓库号 FROM 职工 WHERE 工资=2注:HAVING 子句总是跟在GROUP BY 之后,而不可以但都使用、4.2.8 利用空值查询例4.23找出尚未确定供应商的订购单SELECT * FROM 订购单 WHERE 供应商号 IS NULL注:查询空值时要使用 IS NULL ,而-NULL是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算进行比较例4.24列出已经确定了供应商的订购单信息SELECT * FROM 订购单 WHERE 供应商号 WHERE 供应商号 IS NOT NULL4.2.9别名与自连接查询4.2.10 内外互相相关嵌套查询这两部分不是很
6、重要,大家想了解可以看下书,我在这里就不讲了。4.2.11 使用量词和谓词的查询ANY|ALL|SOME 的用法SELECTFROM;WHEREANY|ALL|SOME(SELECTFROMWHERE)EXISTS 的用法SELECTFROM;WHERE NOT EXISTS(SELECTFROMWHERE)例4.27检索那些仓库中还没有职工的仓库信息SELECT * FROM 仓库 WHERE NOT EXISTS;(SELECT * FROM 职工WHERE 仓库号=仓库.仓库号)这个命令等价于SELECT * FROM 仓库 WHERE 仓库号 NOT IN ;(SELECT 仓库号 F
7、ROM 职工)例4.28检索那些仓库中至少已经有一个职工的仓库信息SELECT * FROM 仓库 WHERE EXIST ;(SELECT * FROM 职工 WHERE 仓库号=仓库.仓库号)注意:在此处WHERE 后面没有相应的字段,而且内层查询也是以“*”表示例4.29检索有职工的工资大于或等于WH1 仓库中任何一名职工的工资的仓库这里可以用 ANY 或者 SOME SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资=ANY;(SELECT 工资 FROM 职工 WHERE 仓库号=”WH1”)它等价于:SELECT DISTINCT 仓库号 FROM 职工 WH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 关系数据库标准语言SQL 关系 数据库 标准 语言 SQL
限制150内