技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

SQL Server实践性练习之高级SQL查询

上次我们介绍了:SQL Server实践性练习之子查询实例,本文我们主要介绍一些SQL Server实践性练习的一些高级SQL查询的实例,接下来就让我们来一起了解一下这部分内容。--3.6.2 检索没有通过代理商a05订货的所有顾客的名字... 全文

SQL Server数据库 高级SQL查询

T

一、子查詢:子查询在WHERE语句中的一般用法:SELECT … FROM 表1 WHERE 字段1 >(子查询)外面的查询称为父查询,括号中嵌入的查询称为子查询 UPDATE、INSERT、DELETE一起使用,语法类似于SELECT语句 将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个 例如:SELECT * FROM stuInfoWHERE stuAge>( SELECT stuAge FROM stuInfo where stuName='李斯文')GO 二、使用子查询替换表连接一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据表连接更适合于查看多表的数据 例如:SELECT stuName FROM stuInfo     WHERE stuNo=(SELECT stuNo FROM stuMarks WHERE writtenExam=60)GO 三、IN子查询IN后面的子查询可以返回多条记录,常用IN替换等于(=)的比较子查询 例如:SELECT stuName FROM stuInfo    WHERE stuNo IN     (SELECT stuNo FROM  stuMarks WHERE writtenExam=60)GO 四、EXISTS子查询如果子查询的结果非空,即记录条数1条以上,则EXISTS (子查询)将返回真(true),否则返回假(false) EXISTS也可以作为WHERE 语句的子查询,但一般都能用IN子查询替换 EXISTS子查询的语法:IF EXISTS (子查询)    语句例如:/*--采用EXISTS子查询,进行酌情加分--*/IF EXISTS (SELECT * FROM stuMarks WHERE writtenExam>80)  BEGIN    print '本班有人笔试成绩高于分,每人加分,加分后的成绩为:'    UPDATE stuMarks SET writtenExam=writtenExam+2    SELECT * FROM stumarks  ENDELSE  BEGIN    print '本班无人笔试成绩高于分,每人可以加分,加分后的成绩:'    UPDATE stuMarks SET writtenExam=writtenExam+5    SELECT * FROM stumarks  ENDGO 相反:NOT EXISTS子查询例如:IF NOT EXISTS (SELECT * FROM stuMarks WHERE                                 writtenExam>60 AND labExam>60)  BEGIN    print '本班无人通过考试,试题偏难,每人加分,加分后的成绩为:'    UPDATE stuMarks          SET writtenExam=writtenExam+3,labExam=labExam+3    SELECT * FROM stuMarks  ENDELSE  BEGIN    print '本班考试成绩一般,每人只加分,加分后的成绩为:'    UPDATE stuMarks          SET writtenExam=writtenExam+1,labExam=labExam+1    SELECT * FROM stuMarks  ENDGO 本文出自 “刘建-怀才就象怀孕,时..” 博客,请务必保留此出处http://liujian.blog.51cto.com/950311/306584... 全文

T-SQL高级查询 数据库 休闲 职场

1