计算机二级SQL语言PPT.ppt_第1页
计算机二级SQL语言PPT.ppt_第2页
计算机二级SQL语言PPT.ppt_第3页
计算机二级SQL语言PPT.ppt_第4页
计算机二级SQL语言PPT.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 SQL概述 SQL是结构化查询语言StructuredQueryLanguage的缩写 它包含数据查询 数据定义 数据操纵和数据控制功能 VFP在SQL方面支持数据查询 数据定义 数据操纵功能 2 SQL语言的特点 SQL是一种一体化的语言SQL语言是一种高度非过程化的语言SQL语言非常简洁SQL一种语言两种使用方式 可以直接以命令方式交互 也可以程序方式使用 3 SQL概述 SQL九大命令 4 SQL数据查询 SELECT ALL DISTINCT TOP 表达式 PERCENT 字段列表FROM 数据库 INNER LEFT OUTER RIGHT OUTER FULL OUTER JOIN 数据库 表名ON WHERE GROUPBY 分组依据 HAVING UNION ALL 查询命令 ORDERBY 5 数据查询 6 数据查询 7 格式1 SELECT字段1 字段2 字段n FROM表名格式2 SELECT字段1 字段2 字段n FROM表名WHERE ALL DISTINCT DISTINCT短语的作用是去掉重复值 8 SELECT工资FROM员工表SELECTDISTINCT工资FROM员工表SELECT FROM员工表SELECT FROM员工表 WHERE性别 男 AND工资 4000 分号代表续行符 代表查询表中所有字段 9 Select员工号 姓名 部门名称 From员工表 部门表 Where 工资 3500 AND 员工表 部门号 部门表 部门号 连接查询是一种基于多个关系 表 的查询 所以进行的查询操作至少有两个表且必须有连接条件 查询出工资多于3500元的员工号 姓名和部门名称 10 嵌套查询要求结果出自一个关系 表 但关系的条件却涉及多个关系 可用IN或NOTIN来判断在外层查询条件中是否包含内层查询的结果 查询员工表中工资大于3500元的部门表中的信息 Select From员工表Where部门号 IN Select部门号From员工表Where工资 3500 查询的结果为 101 102 103 11 Select From员工表 Where工资BETWEEN2500AND3000 BETWEEN AND 检索出某一区间范围的记录 包括两端的边界值 检索出工资在2500元到3000元范围的员工表信息 Select From员工表 Where工资 2500AND工资 3000 12 LIKE 字符匹配运算符 在匹配查询中可使用通配符 通配符 表示0个或多个字符 它表示一个字符 查询出订货商表中来自上海的订货商名称 查询姓张的员工且名字为两个字的员工信息 从订货商表中检索出订货商是公司性质的信息 Select From员工表Where姓名Like 张 Select订货商名称From订货商表Where地址Like 上海 Select From订货商表Where订货名称Like 公司 13 不等于运算符 相当于否定运算NOT 查询职务号不为 101 的员工表信息 Select From员工表Where职务号 101 14 排序是将数据从小到大 或从大到小进行排列存放 排序的短语是ORDERBY BY后面给排序的字段 按员工的工资降序检索出全部员工信息 先按员工号降序排序 再按工资排序输出全部员工信息 Select From员工表WhereOrderBy工资 Select From员工表 WhereOrderBy员工号DESC 工资 15 SQL不仅提供了一般的检索能力 而且还有计算方式的检索 如检索员工的总人数 最高工资 最低工资 员工总工资 平均工资 COUNT 字段名 用于统计个数 SUM 字段名 求和 AVG 字段名 求平均值 MAX 字段名 求最大值 MIN 字段名 求最小值 16 找出员工表中有多少个部门 SelectCount Distinct部门号 From员工表 SelectCount Distinct部门号 部门总数From员工表 为该字段定义的别名 17 求员工表中工资总数 SelectSUM 工资 总工资From员工表 求所有员工的平均工资 SelectAVG 工资 平均工资From员工表 检索部门号为 101 的员工的最高工资 SelectMAX 工资 最高工资From员工表 Where 部门号号 101 检索部门号为 101 的员工的最低工资 SelectMIN 工资 最低工资From员工表 Where 部门号号 101 18 SQL中利用GROUPBY子句进行分组计算查询 格式如下 GROUPBY字段1 字段2 HAVING查询条件 求每个部门的员工的平均工资 Select部门号 AVG 工资 平均工资from员工表 GroupBY部门号 19 求至少有两个男员工的部门中男员工的总工资 Select部门号 Count 性别 男生总数 SUM 工资 总工资 From员工表 Where性别 男 GroupBY部门号Having男生总数 2 HAVING必须与GROUPBY一起使用 不能单独使用 20 空值查询用函数ISNULL或ISNOTNULL 找出尚未确定部门的员工信息 Select From员工表Where部门号ISNULL Select From员工表Where部门号ISNOTNULL Select姓名 职务名称From员工表 职务表 Where员工表 职务号 职务表 职务号 21 涉及到多个表时 当访问多个表中同名的字段时 需要用 表名 属性名 来指定 例如 SQL允许在From短语后为关系名定义别名 格式为 关系名别名 Select姓名 职务名称From员工表s 职务表p Wheres 职务号 p 职务号 22 自连接定义 自连接可以将自身表的一个镜像当作另一个表来对待 从而能够得到一些特殊的数据 自连接别名是必需的 Selecte 雇员姓名 带领 m 雇员姓名 From雇员e 雇员m Wheree 雇员号 m 经理 根据雇员关系 查询出雇员姓名及其经理姓名 23 用的量词和谓词有 IN NOTIN ANY ALL SOME EXISTS NOTEXISTS 其具体格式如下 ANY SOME ALL 子查询 NOT EXISTS 子查询 ANY和SOME是同一词 在进行比较运算时只要子查询中有一行能使结果为真 则结果为真 ALL要求子查询中所有行都能使结果为真 则结果为真 EXISTS是用来检查在子查询中是否有结果返回 24 查询出职工的工资大于或等于101部门中任何一名职工的工资的部门号 SelectDistinct部门号From员工表 Where工资 ANY Select工资From员工表where部门号 101 SelectDistinct部门号From员工表Where工资 SelectMIN 工资 From员工表Where部门号 101 25 超连接查询定义 首先保证一个表满足条件的元组都在结果表中 然后将满足连接条件的元组与另一个表的元组进行连接 不满连接条件的则将来自另一个表的属性值置为空值 26 格式 Select字段1 字段2 From表名INNER LEFT RIGHT FULLJOIN表名ON连接条件Where INNERJOIN 内连接 等同于JOIN 只有满足条件的记录才出现在查询结果中 LEFTJOIN 左连接 除了满足条件的记录才出现在查询结果中外 第一个表中不满足条件的记录也出现在查询结果中 RIGHTJOIN 右连接 除了满足条件的记录才出现在查询结果中外 第二个表中不满足条件的记录也出现在查询结果中 FULLJOIN 全连接 除了满足条件的记录才出现在查询结果中外 两个表中不满足条件的记录也出现在查询结果中 27 格式 Select字段1 字段2 From表名INNER LEFT RIGHT FULLJOIN表名ON连接条件Where INNERJOIN 内连接 等同于JOIN 只有满足条件的记录才出现在查询结果中 LEFTJOIN 左连接 除了满足条件的记录才出现在查询结果中外 第一个表中不满足条件的记录也出现在查询结果中 RIGHTJOIN 右连接 除了满足条件的记录才出现在查询结果中外 第二个表中不满足条件的记录也出现在查询结果中 FULLJOIN 全连接 除了满足条件的记录才出现在查询结果中外 两个表中不满足条件的记录也出现在查询结果中 28 员工表和部门表连接 员工表和部门表右连接 员工表和部门表左连接 员工表和部门表全连接 Select员工表 部门号 姓名 工资From员工表 INNERJOIN部门表ON员工表 部门号 部门表 部门号 Select员工表 部门号 姓名 工资From员工表 RIGHTJOIN部门表ON员工表 部门号 部门表 部门号 Select员工表 部门号 姓名 工资From员工表 LEFTJOIN部门表ON员工表 部门号 部门表 部门号 Select员工表 部门号 姓名 工资From员工表 FULLJOIN部门表ON员工表 部门号 部门表 部门号 29 JOIN连接多个表时 JOIN的顺序和ON的顺序正好相反 Select仓库 仓库号 供应商名 From供应商JOIN订购单JOIN职工 ON订购单 职工号 职工 部门号 ON供应商 供应商号 订购单 供应商号 30 31 显示工资最高的30 员工的信息 显示年龄最大的3位员工的信息 将查询到的员工信息放在数组A中 Select TOP30PERCENTFrom员工表 ORDERBY工资DESC Select TOP3From员工表 ORDERBY年龄 Select From员工表INTOARRAYA 将查询到的员工信息放在临时 dbf文件A中 Select From员工表INTOCURSORA 将查询到的员工信息放在表A中 Select From员工表INTODBFA 32 数据操作功能 SQL的数据操作功能是指对数据库中的插入 更新和删除 INSERT DELETE UPDATE 33 INSERTINTO员工表 员工号 姓名 年龄 VALUE 120 xiao 25 格式1 INSERTINTO 字段1 字段2 VALUE 表达式1 表达式2 向员工表中插入一条新记录 员工号 姓名和年龄分别是 120 xiao 25 34 INSERTINTOSFROMARRAYARR1 格式2 INSERTINTOFROMARRAY 从数组ARR1中插入一条记录到表S 35 UPDATE员工表SET工资 工资 1 0 1 UPDATE SET 将所有员工的工资提高10 36 DELETEFROM员工表WHERE员工号 101 DELETEFROM Where 删除员工表中员工号为 101 元组 37 数据定义功能 38 格式 CREATETABLE NAME长表名 FREE 宽度 宽度 FROMARRAY 创建表的名字 可包括路径 指定一个长表名 建立一个自由表 定义字段的数据类型 用字母表示 见P110表5 4 39 列级完整性包括 NULL和NOTNULL NULL允许字段的值为空值CHECK ERROR错误提示 UNIQUE 建立候选索引DEFAULT 指定特定字段的默认值 40 格式 DROPTABLE 41 在已存在的表中添加新字段修改已有字段 ALTERTABLEADD ALTER字段1 宽度 小数位数 NULL NOTNULL CHECK逻辑表达式 ERROR字符文本信息 DEFAULT默认值 PRIMARYKEY UNIQUE REFERENCES TAG 42 定义 修改和删除表中已有字段的约束和默认值定义 ALTERTABLEALTER COLUMN字段2 NULL NOTNULL SETDEFAULT默认值 SETCHECK逻辑表达式 ERROR字符文本信息 DROPDEFAUL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论