




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关系数据库标准语言SQL结构化查询语言: STRUCTURED QUERY LANGUAGE(SQL)4.1SQL介绍-特点(1)SQL是一种一体化语言(2)SQL语言是一种高度非过程化的语言(3)SQL 语言非常简洁(4)SQL语言可以直接以命令的方式使用,也可以嵌入到程序设计语言中以程序的方式使用SQL的功能:数据的定义、数据的操纵、数据的查询、数据的控制。 说明:VF数据库不支持数据的控制功能。数据的定义功能:对表结构的操作(CREATE 创建 、DROP 删除 、ALTER 修改)数据的操纵功能:对表记录的操作(INSERT 插入、update 修改、DELETE 删除)数据的查询:SELECT4.4定义功能:CREATE、DROP 、ALTER4.4.1表的定义CREATE创建一个仓库管理数据库(仓库、职工、订购单、供应商)定义表的结构:字段名、类型、宽度、有效性规则和索引等等。语法格式:CREATE TABLE 表名(字段名1 类型(宽度) PRIMARY KEY,字段名2 类型(宽度),;字段名3 类型(宽度) CHECK. ERROR. DEFAULT,;FOREIGN KEY 字段名 TAG 索引名 REFERENCES 表名,;FOREIGN KEY 字段名 TAG 索引名 REFERENCES 表名)说明:PRIMARY KEY 建立一个主索引,CHECK.ERROR.DEFAULT 字段的有效性规则.FOREIGN KEY 外部关键字建立普通索引, REFERENCES 为表建立联系EG:仓库表建立create database 仓库管理modify databasecreate TABLE 仓库(仓库号 C(4) PRIMARY KEY,;城市 C(10),面积 N(6,2)CHECK 面积=120 AND 面积=1000 AND 工资=8000 AND 资产=15504.2查询功能SELECT :SQL语言的核心内容。查询的分类:简单查询、简单连接查询、嵌套查询、超连接查询。查询的基本格式:SELECT . FROM. WHERE 多个查询可以进行嵌套。4.2.1简单查询:基于一个表的数据查询。语法格式: 查找的对象(字段名),字段名来自于那个表,条件来自于 那个表。SELECT 字段名1,字段名2,. FROM 表名 where 条件EG1:找出男职工的职工号和工资?select 职工号,工资 FROM 职工 WHERE 性别=男EG2:检索出女职工的全部信息?SELECT 职工号,仓库号,工资,性别,城市 FROM 职工 WHERE 性别=女SELECT * FROM 职工 WHERE 性别=女说明:通配符星号*:表示通配查询的所有字段.EG3:找出E3职工的所在地是哪儿?SELECT 城市 AS 所在地 FROM 职工 WHERE 职工号=E3SELECT 城市 所在地 FROM 职工 WHERE 职工号=E3说明: AS (也可以用空格表示):表示将字段作为新的字段输出EG4:检索出家在上海和遵义居住的男职工信息?SELECT * FROM 职工 where 性别=男 AND (城市=上海 OR 城市=遵义)EG5:检索男职工来自于那些城市?SELECT DISTINCT(城市) AS 城市 FROM 职工 WHERE 性别=男说明:DISTINCT短语:去掉查询结果的重复值EG6:检索出男职工来自于几个城市?SELECT COUNT(DISTINCT(城市) AS 城市数量 from 职工 WHERE 性别=男说明:COUNT( ) 函数表示计数统计。4.2.2简单连接查询:是一种基于多个关系(表)的查询。语法格式:SELECT 字段1,字段2, FROM 表1,表2, WHERE 表之间的联系 AND 查询条件(用AND/OR连接多个条件)说明:表之间的联系是一个表的主关键字和另外一个表外部关键字表1.主关键字=表2.外部关键字查询条件:是对查询结果进行限制。EG1:检索出男职工的仓库的所在地?SELECT 所在地 FROM 仓库,职工 where 仓库.仓库号=职工.仓库号 AND 性别=男EG2:检索出工资高于1220元的男职工的订购单信息?SELECT 订购单.* FROM 职工,订购单 WHERE 职工.职工号=订购单.职工号;AND 工资1220 AND 性别=男EG:找出仓库的仓库号、所在地以及他们的职工?SELECT 仓库.仓库号,所在地,职工号 FROM 仓库,职工 WHERE 仓库.仓库号=职工.仓库号说明:查询的对象不唯一时,必须加表名限制。课堂练习:检索出补考学生的人数?SELECT count(DISTINCT(学号) AS 补考人数 FROM 成绩 WHERE 分数1230 AND 地址=北京SELECT 订购单号 FROM 订购单 where 职工号 IN(SELECT 职工号 FROM 职工 WHERE 工资1230);AND 供应商号 IN(SELECT 供应商号 FROM 供应商 WHERE 地址=北京)4.2.4几个特殊的运算符: (1) BETWEEN AND. 表示在两者之间(闭区间)例题:检索出工资在1220到1240之间的职工信息?SELECT * from 职工 WHERE 工资=1220 AND 工资=1240SELECT * from 职工 WHERE 工资 BETWEEN 1220 AND 1240(2)LIKE:像什么一样,是字符串匹配运算符,通配符%表示0个或者多个字符,另外下划线_表示一个字符。例题:从供应商关系中检索出全部公司的信息?SELECT * FROM 供应商 where 供应商名 LIKE %公司检索出姓张学生的信息?SELECT * FROM 学生 WHERE 姓名 LIKE 张%(3)不等于: != # NOT 例题:检索出没有在北京居住的职工信息?SELECT * FROM 职工 WHERE 城市!=北京SELECT * FROM 职工 WHERE 城市北京SELECT * FROM 职工 WHERE 城市#北京SELECT * FROM 职工 WHERE NOT(城市=北京)4.2.5排序:对查询结果按照某个字段值的升序或者降序来排列查询结果排序的短语:ORDER BY 字段名1,字段名2,说明:升序ASC 降序 DESC, 系统默认是升序例题1:按职工的工资值升序检索出全部职工的信息?SELECT * from 职工 ORDER BY 工资 ASC例题2:检索出全部职工的信息,并且先按照仓库号的升序排列,再按工资的降序输出。SELECT 职工号,仓库号,工资,性别,城市 FROM 职工;ORDER BY 仓库号 ASC,工资 DESCSELECT 职工号,仓库号,工资,性别,城市 FROM 职工;ORDER BY 2 ASC,3 DESC4.2.6简单的计算查询计算检索的函数: COUNT( ) 计数 SUM( ) 求和 AVG( ) 平均值 MAX( ) 最大值 MIN( ) 最小值EG1:检索出供应商所在地的数目?SELECT COUNT(DISTINCT(地址) AS 数目 FROM 供应商EG2:检索出所有职工的工资总和?SELECT SUM(工资) AS 总工资 FROM 职工4.2.8利用空值(NULL)查询:不确定的值IS NULL 不确定的值 IS NOT NULL 确定了的值例题:找出没有确定供应商的订购单信息?SELECT * FROM 订购单 WHERE 供应商号 IS NULL4.2.7分组与计算查询分组的短语: GROUP BY 字段名 对分组的条件进行限制:HAVING 例题:求每个仓库的职工的平均工资?SELECT 仓库号,AVG(工资) FROM 职工 group BY 仓库号+例题:求至少有两个职工的每个仓库的平均工资?SELECT 仓库号,AVG(工资) FROM 职工 group BY 仓库号 HAVING COUNT(职工号)=2课堂练习:找出每个城市的男职工人数?SELECT 城市,COUNT(职工号) FROM 职工 WHERE 性别=男 group BY 城市检索出面积大于300的每个仓库的职工人数?SELECT 职工.仓库号,COUNT(职工号) FROM 仓库,职工 WHERE 仓库.仓库号=职工.仓库号;AND 面积300 GROUP BY 职工.仓库号SELECT 仓库号,COUNT(职工号) FROM 职工 WHERE 仓库号 in(;SELECT 仓库号 FROM 仓库 WHERE 面积300
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无机颜料制造考核试卷
- 乐器声音的数字化处理与优化考核试卷
- 木楼梯的声学性能改善措施考核试卷
- 劳动法律法规解读考核试卷
- 固体废物处理与环保科技创新考核试卷
- 体育会展新媒体运营与粉丝经济考核试卷
- 体育经纪公司体育场馆运营与管理策略考核试卷
- 房屋改建施工合同范本
- 简易土建劳务合同范本
- 俱乐部合同范本模板
- 中公遴选公务员笔试真题及答案
- 水产业园区合作协议书范文
- 异常子宫出血的课件
- 2024年礼仪风俗传统文化知识竞赛-中国传统节日知识竞赛考试近5年真题附答案
- 编制说明-放牧家畜穿戴式传感器
- DB34T∕ 2452-2015 旅行社小包团服务指南
- 队列研究评估预后标志物的外部验证
- 2024全国各地区英语中考真题汇编《第一期》
- 电梯应急救援与事故处理考核试卷
- 第1章 跨境电商概述
- 《高等教育学》近年考试真题题库(含答案)
评论
0/150
提交评论