北大青 7E 男 第四章 数据查询(1) ACCP V4.0
ACCP V4.0 1 第四章 数据查询(1)
北大青 7E 男 回顾 口sαL分为数据操作语言、数据控制语言和数据定义语言; TSQL是SQL的扩展 口通配符经常与LKE一起使用来进行非精确的限制; 口一次插入多行数据,可以使用 JINSERT. SELECT. SELECT.NTO.或者UNON关键字来实现 口标识列不能插入指定的数据值 口使用 UPDATE更新数据,一般都有限制条件 口使用 DELETE删除数据时,不能删除被外键值所引用的数 据行 口使用 TRUNCATE TABLE来删除所有数据时,效率要比 DELETE语句高 口上面的数据操作语句在程序中会经常使用到 ACCP V4.0
ACCP V4.0 2 回顾 ❑ SQL分为数据操作语言、数据控制语言和数据定义语言; T-SQL是SQL的扩展 ❑ 通配符经常与LIKE一起使用来进行非精确的限制; ❑ 一次插入多行数据,可以使用INSERT…SELECT…、 SELECT…INTO…或者UNION关键字来实现 ❑ 标识列不能插入指定的数据值 ❑ 使用UPDATE更新数据,一般都有限制条件 ❑ 使用DELETE删除数据时,不能删除被外键值所引用的数 据行 ❑ 使用TRUNCATE TABLE来删除所有数据时,效率要比 DELETE语句高 ❑ 上面的数据操作语句在程序中会经常使用到
北大青 7E 男 目标 口理解查询的机制 口使用 SELECT语句进行条件查询 口在查询中返回限制行、进行查询排序 口在查询中使用表达式、运算符和函数 ACCP V4.0
ACCP V4.0 3 目标 ❑理解查询的机制 ❑使用SELECT语句进行条件查询 ❑在查询中返回限制行、进行查询排序 ❑在查询中使用表达式、运算符和函数
北大青 7E 男 什么是查询? SELECT* FROM SALES 查询请求 查询结果集 ABCDEFG 客户程序 SQL SERVER 查询产生一个虚拟表,看到的是表形式显示的结果,但结 果并不真正存储,每次执行查询只是现从数据表中提取数 据,并按照表的形式显示出来 ACCP V4.0
ACCP V4.0 4 什么是查询? Application Logic 客户程序 查询请求 查询结果集 SQL SERVER A B C D E F G SELECT * FROM SALES 查询产生一个虚拟表,看到的是表形式显示的结果,但结 果并不真正存储,每次执行查询只是现从数据表中提取数 据,并按照表的形式显示出来
北大青 7E 男 怎么查的? 学员编号学员姓名地址所在班级 SELECT FROM StudentsH 001 张明全 湖南长沙s201 WHERE所在班级=S202 002 李菲 湖北宜昌s202 003 于寄谦 甘肃天水S204 004 刘国正 山东荷泽s201 005 周接轮 台湾新竹s204 006 巩小妹 香港龙湾s203 007 巩大妹 香港龙湾s203 008 张明敏 北京顺义s202 009矛十八四川棉阳S204 010 罗林光 陕西临潼|S202 01 司马坡 新疆喀什s201 002李菲湖北宜昌s202 008张明敏北京顺义S202 010罗林光陕西临渣s202 ACCP V4.0
ACCP V4.0 5 怎么查的? 学员编号 学员姓名 地址 所在班级 ……. 001 张明全 湖南长沙 S201 002 李菲 湖北宜昌 S202 003 于寄谦 甘肃天水 S204 004 刘国正 山东荷泽 S201 005 周接轮 台湾新竹 S204 006 巩小妹 香港龙湾 S203 007 巩大妹 香港龙湾 S203 008 张明敏 北京顺义 S202 009 矛十八 四川棉阳 S204 010 罗林光 陕西临潼 S202 011 司马坡 新疆喀什 S201 010 罗林光 陕西临潼 S202 002 李菲 湖北宜昌 S202 … 008 张明敏 北京顺义 S202 SELECT * FROM StudentsH WHERE 所在班级 = ‘S202’
北大青鸟 TEC 思考 口既然查询得到的“结果集”的结构类似于一张表,那么可 以在“结果集”上继续进行查询吗? ACCP V4.0
ACCP V4.0 6 思考 ❑ 既然查询得到的“结果集”的结构类似于一张表,那么可 以在“结果集”上继续进行查询吗?
北大青 7E 身编写查询语句之前 查询分析器-[查询一 YUANYAO.ACCP4051. yuan ya0-无标题1 件(E)编辑(E查询Q工具(D窗口(帮助(H x 间·回回易区的田,y■ACF40唱詈回 付象浏览器 目 YUANYA0 JV\yuan, yao) 目 YUANY AD USE ACCP4OS1 白UACP40s 白口用户表 中国 dbo. Cours 中目bo. properties 中国dbo.S 中国dbo. Score E SName (char(32) 目 SCode(int,ot E SAddress(nchar 目 SGrade(foat,F 目 SEmail( char32) 网格国消息 智对象回巴模板 批查询完成。 UANYAO(6.0)Msn,%a0(5)ACP40s10.00行行2,列13 ACCP V4.0
ACCP V4.0 7 编写查询语句之前…
北大青 7E 男 查询 SELECT FROM WHERE] [ ORDER BY[ASC或DESc]] 列名称 表名 过滤条件 排序条件 SELECT FROM WHERE ORDER BY SCode Students SSEX =0 SCode SName SAddress SELECT SCode SName. SAddress FROM Students WHERE SSEX=0 ORDER BY SCode ACCP V4.0
ACCP V4.0 8 查询 SELECT FROM [WHERE ] [ORDER BY [ASC或DESC]] 列名称 SELECT SCode, SName, SAddress 表名 FROM Students 过滤条件 WHERE SSEX = 0 排序条件 ORDER BY SCode SELECT SCode,SName,SAddress FROM Students WHERE SSEX = 0 ORDER BY SCode
北大青 7E 男 数据查询-基础 「查询全部的行和列 SELECT* FROM Students 查询部分行 SELECT SCode SName, SAddress from students WHERE SAddress=河南新乡 SELECT SCode SName, SAddress from students WHERE SAddress<>河南新乡 ACCP V4.0
ACCP V4.0 9 数据查询-基础 查询全部的行和列 SELECT * FROM Students 查询部分行 SELECT SCode,SName,SAddress FROM Students WHERE SAddress = '河南新乡' SELECT SCode,SName,SAddress FROM Students WHERESAddress <> '河南新乡
北大青 7E 男 数据查询-列名 匚使用AS来命名列 SELECT SCode As学员编号, SName As学员姓名, ADdress AS学员地址 FROM Students WHERE SAddress<>河南新乡 SELECT FirstName+'."+ LastName As"姓名 FROM Employees 使用=来命名列 SELECT'姓名= FirstName+!+ LastName FROM Employees 10 ACCP V4.0
ACCP V4.0 10 数据查询-列名 使用AS来命名列 SELECT SCode AS 学员编号,SName AS学员姓名,SAddress AS 学员地址 FROM Students WHERE SAddress <> '河南新乡' SELECT FirstName+'.'+LastName AS '姓名' FROM Employees 使用=来命名列 SELECT '姓名' = FirstName+'.'+LastName FROM Employees