




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于select查询1. 输出表中的所有列 select * from 表名2. 输出表中的部分列 select 字段名表 from 表名3. 为结果集内的列指定列名 select 字段名1 as 列的别名 ,n from 表名4. 消除取值重复的行,在select 后面紧跟 distinct 5. 限制返回的行数 select top 行数 列名表 from 表名6. 查询满足条件的元组 select * from 表名 where 查询条件1) 比较:列表达式1 比较运算符 列表达式22) 确定范围:列表达式 NOT Between 起始值 And 终止值select *from 学生where 出生日期 between 1980-05-01 and 1982-12-313) 确定集合:列表达式 NOT IN (列值1,列值2,)select *from 班级where 系部代码 in(01,02)4) 字符匹配:列表达式 NOT Like 匹配串 escape 匹配串中可以有:%、_、 select *from 课程where 课程名 like Delphi/_6.0 escape/5) 涉及空值的查询:列表达式 IS NOT NULL6)多重条件查询:使用AND、OR、NOT连接多个查询条件7.对查询的结果排序:select * from 表名 where 查询条件 ORDER BY ,nselect 学号,成绩from 课程注册where 课程号=0001order by 成绩 asc8. 对数据进行统计1) 使用集合函数:可以前带DISTINCT或ALL统计记录个数COUNT(*)统计一列中值的个数COUNT(列名)计算一列中值的总和SUM(列名)计算一列中值的平均值AVG(列名)计算一列中值的最大值MAX(列名)计算一列中值的最小值MIN(列名)2) 对结果进行分组操作:select * from 表名 where 查询条件 GROUP BY 列名 HAVING 筛选条件表达式select 课程号,COUNT(*) AS 选课人数from 课程注册GROUP BY 课程号HAVING COUNT(*)=33) 使用COMPUTE子句:可以对查询结果集中的所有记录进行汇总统计,并显示所有参加汇总记录的详细信息。select * from 表名 where 查询条件 ORDER BY 列名 COMPUTE 集和函数 BY 列名select *from 课程注册ORDER BY 学号COMPUTE SUM(成绩) BY 学号9. 用查询结果生成新表:select * into 新表名 from 表名 where 查询条件10. 合并结果集:相当于集合的并操作select 语句 union select 语句 ,n11. 连接查询(在一个查询中涉及多个表)1)交叉连接查询交叉连接:又称非限制连接(广义笛卡尔积),它是将两个表不加约束地连接在一起,连接产生的结果集的纪录为两个表中记录的交叉乘积,结果集的列为两个表属性列的和。交叉连接产生的结果集一般没有什么实际应用的意义,实际使用很少。语法格式:SELECT FROM 表名1 CROSS JOIN 表名2 中罗列的列名是结果集中出现的列名(取自表名1和表名2中的部分或全部)2) 等值与非等值连接查询连接查询中用来连接两个表的条件称为连接条件,连接条件的一般格式为;通常为主键. .通常为外键主要有:=,=,=,!=。当比较运算符主要为=时,成为等值连接,其语法格式为:SELECT FROM 表名1 INNER JOIN 表名2 ON .=.使用其它运算符的连接为非等值连接。(还可以有其他条件符号)SELECT *FROM 产品 INNER JOIN 产品销售 ON 产品.产品编号=产品销售.产品编号ALTER TABLE 产品ADD 产量 INTUPDATE 产品SET 产量=28WHERE 产品编号=0001UPDATE 产品SET 产量=30WHERE 产品编号=0002UPDATE 产品SET 产量=40WHERE 产品编号=0003UPDATE 产品SET 产量=40WHERE 产品编号=0004SELECT *FROM 产品SELECT *FROM 产品销售SELECT *FROM 产品 INNER JOIN 产品销售 ON 产品.产量产品销售.销量SELECT *FROM 产品 INNER JOIN 产品销售 ON 产品.产量产品销售.销量 AND 产品.产品编号=产品销售.产品编号或SELECT *FROM 产品 , 产品销售 where 产品.产量产品销售.销量 AND 产品.产品编号=产品销售.产品编号3) 自身连接查询(目的是为了在一个表中查找具有相同列值的行)一个表与其自身进行的连接(也可以理解为一个表的两个副本之间的连接)。在进行自身连接查询时,必须为表指定两个别名,且对所有列的引用均要用别名限定。例:查找不同课程成绩相同的学生的学号、课程号和成绩select a.学号,a.课程号from 课程注册 as a join 课程注册 as bon a.学号=b.学号 and a.课程号!=b.课程号4) 外连接查询不仅将满足条件的记录列出,而且还可以将不满足条件的记录的基本信息列出。外连接分为:左外连接:将左表作为主表,主表中所有记录分别与右表的每一条记录进行连接组合,结果集中除了满足条件的记录外,还有主表中不满足连接条件的记录并在右表的相应列上填充NULL值。语法如下,SELECT 列名表 FROM 表名1 LEFT OUTER JOIN 表名2ON 表名1.列名=表名2.列名例:将“产品”表左外连接“产品销售”表SELECT *FROM 产品 LEFT OUTER JOIN 产品销售ON 产品.产品编号=产品销售.产品编号右外连接:将右表作为主表,主表中所有记录分别与左表的每一条记录进行连接组合,结果集中除了满足条件的记录外,还有主表中不满足连接条件的记录并在左表的相应列上填充NULL值。语法如下,SELECT 列名表 FROM 表名1 RIGHT OUTER JOIN 表名2ON 表名1.列名=表名2.列名例:将“产品”表右外连接“产品销售”表SELECT *FROM 产品 RIGHT OUTER JOIN 产品销售ON 产品.产品编号=产品销售.产品编号全连接:讲左表所有记录分别与右表的每一条记录进行连接组合,结果集中除了满足连接条件的记录外,还有左、右表中不满足连接条件的记录并在左、右表的相应列上填充NULL值。语法如下,SELECT 列名表 FROM 表名1 FULL OUTER JOIN 表名2ON 表名1.列名=表名2.列名例:用全连接的方法连接“产品”表与“产品销售”表SELECT *FROM 产品 FULL OUTER JOIN 产品销售ON 产品.产品编号=产品销售.产品编号5) 复合连接条件查询在ON连接表达式中可以有多个连接条件。例如:查询成绩在75分以上的学生的学号、姓名,选修课的课程号、课程名、专业代码、成绩,任课教师的教师编号、姓名。SELECT B.课程号,D.课程名,C.教师编号,C.姓名,A.学号,A.姓名,B.专业代码,B.专业学级,B.学期,B.成绩FROM 学生 AS A JOIN 课程注册 AS B ON A.学号=B.学号 AND B.成绩75 JOIN 教师 AS C ON B.教师编号=C.教师编号 JOIN 课程 AS D ON B.课程号=D.课程号或SELECT 课程注册.课程号,课程.课程名,教师.教师编号,教师.姓名,学生.学号,学生.姓名,课程注册.专业代码,课程注册.专业学级,课程注册.学期,课程注册.成绩FROM 学生, 课程注册,教师,课程WHERE 学生.学号=课程注册.学号 AND 课程注册.成绩75 AND 课程注册.教师编号=教师.教师编号 AND 课程注册.课程号=课程.课程号12. 子查询SELECT 语句可以嵌套在其他许多语句中,这些嵌套的SELECT语句就称为子查询,子查询的SELECT查询总是使用圆括号括起来,且不能包括COMPUTE或FOR BROWSE子句。SQL Server对嵌套查询的求解方法是由里向外处理,即每个子查询在上一级查询处理之前求解,子查询的结果用于建立父查询的查询条件。嵌套查询可以用多个简单的查询构造复杂的查询,但嵌套不能超过32层。1)带有IN运算符的子查询子查询的结果是一个结果集,父查询通过IN运算符将父查询中的一个表达式与子查询结果集中的每一个值进行比较,如果表达式的值与子查询结果集中的任何一个值相等,父查询中的“表达式 IN (子查询)”条件表达式返回TRUE,否则返回FALSE。NOT IN运算符与IN运算符结果相反。SELECT 列名表FROM 表名WHERE 表达式 IN父查询 (SELECT 列名FROM 表名WHERE 条件式子查询 )例如:查询有产品销售记录的产品信息。 查询选修了课程名为“大学语文”的学生学号和姓名。SELECT 学号,姓名FROM 学生WHERE 学号 IN (SELECT 学号 FROM 课程注册 WHERE 课程号 IN (SELECT 课程号 FROM 课程 WHERE 课程名=大学语文 ) )2) 带有比较运算符的子查询父查询通过比较运算符将父查询中的一个表达式与子查询结果(单值)进行比较,如果比较运算的结果是TRUE,父查询中的“表达式 比较运算符(子查询)”条件表达式返回TRUE,否则返回FALSE。例如:列出高于平均分的学生的信息。SELECT *FROM 学生WHERE 学号 IN (SELECT 学号 FROM 课程注册 WHERE 成绩 (SELECT AVG(成绩) FROM 课程注册 ) )3) 带有ANY或ALL运算符的子查询子查询中返回单值是可以用比较运算符,当返回的是一个结果集时,可以使用ANY或ALL运算符(必须同时使用比较运算符)。ANY或ALL与比较运算符一起使用的语义运 算 符语 义ANY大于子查询结果中的某个值ALL大于子查询结果中的所有值ANY小于子查询结果中的某个值=ANY大于等于子查询结果中的某个值=ALL大于等于子查询结果中的所有值=ANY小于等于子查询结果中的某个值=ALL小于等于子查询结果中的所有值=ANY等于子查询结果中的某个值=ALL等于子查询结果中的所有值例如:查询比“010101001”班中某一学生年龄大的其他班的学生学号与姓名。SELECT 学号,姓名FROM 学生WHERE 出生日期 ANY (SELECT 出生日期 FROM 学生 WHERE 班级代码=010101001) AND 班级代码010101001 查询比“010101001”班中所有学生年龄都小的其他班的学生学号与姓名。SELECT 学号,姓名FROM 学生WHERE 出生日期 ALL (SELECT 出生日期 FROM 学生 WHERE 班级代码=010101001) AND 班级代码010101001Sql语句资料1. 查询表内所有内容Select * from 表名2命令建库Create database 库名 on(name = 库名_dat,filename = “ 路径库名.mdf ” size = ?mb)3命令插入数据Use 库名Insert into 表名 values( 数据 )备注:字符型加单引号,数据时间用逗号分开4命令建表Create table 库名.dbo.表名(not null 非空 null为空 primary key 主键 中间用逗号分开)5命令更新数据Update 表名 set 列名 新数据 where 条件6命令查询排序Select * from 表名 order by 列名备注:一般情况配列顺序为正序排列 由小到大 倒序排列:由大到小 加关键字 desc7求平均数 avgSelect 年龄合计 sum(字段名) from 表名8显示相同数据的总数 countSelect count(*) from 表名 where 条件9查询一个字段的最大值 maxSelect max(字段名) from 表名 10同一数据库中表数据插入新表Insert into 表名(字段名)select 字段名 from 表名 where 条件11命令修改数据类型Alter table表名 alter column 字段名 新数据类型12别名查询Select a.姓名,b.电话 from java a,java.bWhere a.ID = b.IDFrom 后面定义表的别名Where 条件Select 字段名 from 表名 UnionSelect 字段名 from 表名15补充主键Alter table 表名 add primary key 字段名16查看表信息Exce sp_help 表名17命令建立索引 非簇索引Create index 索引名 on 表名 字段名18删除索引Drop index 表名 字段名19建立备份设备Exce sp_add umpdevice disk,备份的文件名,备份地址备注:disk 为 备份设备的类型20删除备份设备Exce sp_dropdevice 备份文件名21备份数据库Backup database 库名 to 备份的文件名22恢复数据库Re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿物基绝热材料的研发考核试卷
- 环境设计毕设答辩
- 呼吸机转运病人操作规范与流程
- 喉软化病人麻醉管理
- 人体的营养和呼吸
- 睡眠呼吸暂停低通气综合症
- 新青年麻醉学科核心课程体系建设
- 手卫生依从性监测数据解读
- 自然语言及语音处理项目式教程 习题库 02-多选题
- 供应链金融创新应用2025:中小微企业融资新策略解析
- 浅析韦伯《邀舞》
- 房地产中介创业计划书
- PICC堵管原因分析肿一10.11
- 《城市地理学》课件
- 化工与安全工程
- 脑梗塞介入取栓护理查房课件
- 2024届上海市普陀区上海师大附中化学高二下期末综合测试试题含解析
- 循环经济产业链拓展项目商业计划书
- GB/T 43295-2023教育与学习服务远程学习服务要求
- 校园网络文化建设课件
- 天然气密度计算
评论
0/150
提交评论