SQL 结构化查询语言1.ppt

上传人:文库蛋蛋多 文档编号:2353190 上传时间:2023-02-15 格式:PPT 页数:23 大小:626.51KB
返回 下载 相关 举报
SQL 结构化查询语言1.ppt_第1页
第1页 / 共23页
SQL 结构化查询语言1.ppt_第2页
第2页 / 共23页
SQL 结构化查询语言1.ppt_第3页
第3页 / 共23页
SQL 结构化查询语言1.ppt_第4页
第4页 / 共23页
SQL 结构化查询语言1.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《SQL 结构化查询语言1.ppt》由会员分享,可在线阅读,更多相关《SQL 结构化查询语言1.ppt(23页珍藏版)》请在三一办公上搜索。

1、SQL 结构化查询语言,数据库基础数据管理技术的发展数据库(DB)和数据库管理系统(DBMS)B/S、C/S架构,以及数据库的应用SQL(结构化查询语言)概念数据库系统在省维护中心的应用,数据管理技术的发展,数据库(DB)和数据库管理系统(DBMS),数据库(Database)数据库管理系统 DBMSDatabase Management System数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

2、数据库管理员 DBA数据库系统管理员(Database Administrator,简称DBA),USER,数据库,应用程序,DBMS,USER,数据库,DBMS,USER,使用数据库的方法,SQL(结构化查询语言)概念,SQL是结构化查询语言(Structure Query Language)的缩写,是关系型数据库管理系统的标准语言。包括数据定义、数据操纵、数据查询和数据控制四个方面,共9个命令。数据定义CREATE,ALTER,DROP数据查询SELECT数据操作INSERT,UPDATE,DELETE数据控制GRANT,REVOKE,数据库在省维护中心的应用,ORACLE交换网管,工单系

3、统NMSS,资源管理系统等SQL SERVERMPS CMS WMS 等WEB系统短信群发等系统注:notes使用的是文档数据库,不是关系数据库,SQL 常用语句,Select 查询语句Group by 分组语句Order by 排序语句Join 连接语句Into 语句Union 合并语句Like 语句Sql的特殊语句Insert 插入语句Update 更新语句Delete 删除语句,SELECT的命令格式,SELECT语句的一般格式为:【命令】SELECT ALL/DISTINCTTOP PERCENT.AS,AS FROM,INNER/LEFT/RIGHT/FULL JOIN ON INT

4、O/TO FILE/TO PRINTER/TO SCREENWHERE AND AND/ORAND/ORGROUP BY,HAVING ORDER BY ASC/DESC,ASC/DESC;,SQL 中的 like 语句,1、用“%”匹配多个字符(1)a%a:可筛选:aa,aBa,aBBBa,不能筛选:aBC(2)%ab%:可筛选:abc,AABB,Xab,不能筛选:aZb,bac例:以“网”开头:Select*from company where name like 网%以“通”结尾:Select*from company where name like%通“四”开头、“通”结尾:Selec

5、t%from company where name like 四%通包含有“网通”:Select*from company where name like%网通%,SELECT的运算,1、算术运算符()分组括号*、/乘、除+、-加、减算术运算符的优先次序为括号、乘方、乘除和加减,同级运算从左到右依次进行 例:还有多少年退休:Select SNO,SNAME,60-SOLD as TX_OLD from student45年以后已退休的有哪些:Select*from student where SOLD+45=602、关系运算符 大于=等于=大于等于 不等于 字符的比较是按ASCII码的大小进行

6、的,汉字是按机内码比较大小的。对于表达式则是先算表达式的值,然后用值比较大小。Select*from student where SOLD+45=60,SELECT的运算,3、逻辑运算符AND 逻辑与 OR 逻辑或 NOT 逻辑非 逻辑运算符的优先次序为:NOTANDOR表达式的运算顺序是先关系表达式后逻辑表达式 例1:Select*from student where(SOLD+45=60 and SSEX=男)or(SOLD+45=55 and SSEX=女)例2:Select*from student where age is null/is not null,SELECT的函数,1、A

7、VG(字段名或表达式):算数平均数 Select avg(sold)as avg_old from student2、COUNT(字段名或表达式):计算记录条数 Select COUNT(*)as NSRS from student where SSEX=女3、SUM(字段名或表达式):返回某特定字段或是运算的总和数值。Select sum(score)as t_score from Curse where sno=8701014、MAX(字段名或表达式)、MIN(字段名或表达式):求最大、最小值上述统计函数多与group by 联合使用。另注意having的用法例:统计出每门课的最高分Sel

8、ect CNAME,MAX(SCORE)as MAX_SCORE,MIN(Score)as MIN_SCORE from Curse group by CNAME,SELECT的between and,决定某一数值是否介于特定的范围之内例:查询年龄在25-30岁之间的学生Select*from student where sold BETWEEN 25 AND 30等价于:Select*from student where sold=25 AND sold=30,SELECT的 join union,将两个以上的表格或是查询的结果组合起来,但组合的两部分内容必须具有相同的结构。例:将两个表中的

9、男生数据提出来放在一起Select*from student1 where ssex=男 union select*from student2 where ssex=男 INNER JOIN:显示符合条件的记录,此为默认值;LEFT JOIN:显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示,此称为左连接;RIGHT JOIN:显示符合条件的数据行以及右边表中不符合条件的数据行,此时左边数据行会以NULL来显示,此称为右连接;FULL JOIN:显示符合条件的数据行以及左边表和右边表中不符合条件的数据行,此时缺乏数据的数据行会以NULL来显示;当将JOIN

10、关键词放于FROM子句中时,应有关键词ON与之相对应,以表明连接的条件。,SELECT的EXISTS,EXISTS用于判断子查询结果是否存在。带有EXISTS的子查询不返回任何实际数据,它只得到逻辑值“真”或“假”。当子查询的查询结果集合为非空时,外层的WHERE子句返回真值,否则返回假值。NOT EXISTS与此相反。含有IN的查询通常可用EXISTS表示,但反过来不一定。例1 查询讲授课程号为“C140”的教师姓名。SELECT 姓名;FROM 教师;WHERE EXISTS;(SELECT*;FROM 授课;WHERE 教师.教师号=授课.教师号 AND 课程号=c140)当子查询授课表

11、存在一行记录满足其WHERE子句中的条件时,则父查询便得到一个教师姓名,重复执行以上过程,直到得出最后结果。例2 删除的时候检验是否有员工存在Delete from 部门 where 部门编号=19 and not EXISTS(select*from 员工 where 员工.部门编号=部门.部门编号),SQL的INSTER,插入数据是把新的记录插入到一个存在的表中。插入数据使用语句INSERT INTO,可插入一条记录,也可插入多条记录。1.插入一行新记录【命令】INSERT INTO(,)VALUES(,)【功能】将新记录插入到指定的表中,分别用表达式1、表达式2等为字段名1、字段名2等赋

12、值。【说明】是指要插入新记录的表;是可选项,指定待添加数据的列;VALUES子句指定待添加数据的具体值。列名的排列顺序不一定要和表定义时的顺序一致。但当指定字段名时,VALUES子句表达式的排列顺序必须和字段名的排列顺序一致,个数相等,数据类型一一对应。INTO语句中没有出现的列名,新记录在这些列上将取空值(如果在表定义时说明了NOT NULL的属性列不能取空值)。如果INTO子句没有带任何列名,则插入的新记录必须在每个属性列上均有值。,SQL的INSERT select,1.从第2表中将数据插入【命令】INSERT INTO(,)(select(,from 源表 where)例:Insert

13、 into bestuser(姓名,工号,绩效得分,公司名,金额,年度)Select姓名,工号,绩效得分,四川网通 as公司名,100 as 金额,年度 from 绩效表 where 绩效得分90将绩效得分大于90的加入到优秀员工表里面,SQL的UPDATE,SQL语言可以使用UPDATE语句对表中的一行或多行记录的某些列值进行修改。【命令】UPDATE SET=,=WHERE【功能】对表中的一行或多行记录的某些列值进行修改。【说明】是指要修改的表;SET子句给出要修改的列及其修改后的值;WHERE子句指定待修改的记录应当满足的条件,WHERE子句省略时,则修改表中的所有记录。修改一行记录把“

14、陈静”教师的职称改成副教授。UPDATE 教师;SET 职称=副教授;WHERE 姓名=陈 静,SQL的UPDATE from,从第二表取数据来更新第一表更新用户数据的地区信息Update 用户数据 set 地区=(select 地区 from 地区表 where 用户数据.区号=地区表.区号)where 地区 is null多数据更新Update 用户数据 set 地区=地区表.地区,省份=地区表.省份 from 地区表 where 用户数据.区号=地区表.区号 and(用户数据.地区 is null or 用户数据.省份is null),SELECT的DELETE,删除指定数据。delet

15、e from where 例:从名单中删除王五 Delete from student where sname=王五该语句将删除学生表中所有姓名为王五的记录注意:Delete from student将删除学生表中所有记录,实例演示,例1要求 分别统计各号段用户数,并先按城市统计,再然后电话号码前5位统计例2要求统计某一段时间收到短信最多的用户,实例演示,declare i intdeclare sql varchar(2000)declare userid intdeclare username varchar(200)set i=1while i51beginselect userid=员工编号 from userinfo where id=i select top 1 username=replace(replace(pmc5.员工姓名,),)from pmc5 where 员工编号=Userid set username=cnc+usernameset sql=select*from pmc5 where 员工编号=+cast(Userid as char(20)EXEC cmppe.dbo.p_exporttb sql,d:,pmc1,usernameset i=i+1end,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号