需要理解的案例嵌套查询和连接查询

需要理解的案例嵌套查询和连接查询
1、案例查询连接查询
复制代码代码如下所示:
从分数中选择*
创建数据库演示
使用演示
创建表{用户}

{ } int UID身份(1, 1)主键,
{姓名} varchar(50),
{ int int - 1灰虾新手

插入用户} {(名称、等级)值('xi李阁,1)
插入用户} {(名称、等级)值(小月亮月,2)
插入用户} {(名称、等级)值(妹妹',3)
案例终结的单值判断等价于交换案例。
之后返回的值类型必须是一致的。
选择{ },
情况{ { }
那时1块骨灰
那时2个大虾
3岁时是菜鸟
以等级结尾
从{用户}
利用我校
从分数中选择*
案例结尾的第二个用法,相当于多个if语句
选择有,
案例
当英语> 90=优秀
当英语= 80和英语< 90好
当英语> = 70和英语< 80时
英语和英语则是< 70 > = 60'
其他的差异
以成就结束
从得分
为了通过英语

表中有一个B C三列,它们是用SQL语句实现的。当一列大于B列时,选择一列,否则选择B列,当B列大于C列时,选择B列,否则选择B列。
选择
案例
当a
其他B
结束,
案例
当B,C,然后B
其他的C
终点
从T

-实践
创建测试表

数varchar(10),
量int

插入测试(数量、金额)值('rk1 ',10)
插入测试(数量、金额)值('rk2 ',20)
插入测试(数量、金额)值('rk3 ',30)
插入测试(数量、金额)值('rk4 ',10)
选择号码,
案例
当数量> 0然后数量
其他0
以收入结尾,
案例
当金额<0时,ABS(数量)
其他0
以支出结束
从测试
-结果如下

复制代码代码如下所示:
-有一个表,记录学生的成绩student0
使用演示
创建表student0(姓名nvarchar(10),主体(10),结果为int)
插入student0值('zhang三','语言',80)
插入student0值('zhang三、数学,90)
插入student0值('zhang三','物理',85)
插入student0值(李四','语言',85)
插入student0值(李四、数学,92)
插入student0值(李四','物理',null)
SELECT * FROM student0
选择{ },
Isnull(SUM(个案)
当语言结果
结尾),0)作为语言,
Isnull(SUM(个案)
当数学结果
结束),0)作为数学,
Isnull(SUM(个案)
当物理结果
最后,0)作为物理
从student0
按{ }组

复制代码代码如下所示:
-查询作为一个结果集的其他SQL语句作为一个结果集,就像使用一个共同的表。
一个查询,作为一个结果集,称为子查询。几乎所有的地方,表可以用可由查询。
利用我校
姓名从(SELECT * FROM学生)T
选择1,(从分数中选择总和(英文)作为和,(从学生中选择平均值))平均年龄
-一个接一个地询问班上所有的学生
选择*从学生那里sclassid = =
(选择的CID,CNAME =高一班班)
-询问班上所有21班的学生
-子查询的值是多个。查询时,紧随其后的是= =,>,=,然后!
在子查询与运营商相比,所需的子查询只返回一个值
如果子查询是一个多行单排子查询,子查询的结果集等实际上是一种集。您可以使用关键字而不是=号
选择*从学生那里sclassid = =
(选择从哪里CNAME在CID班(高一班的一个','第二类))
选择*从学生那里sclassid在
(选择从哪里CNAME在CID班(高一班的一个','第二类))
The query results -- LGZ
SELECT * FROM评分在哪里有
(选择SID从学生那里sname在('liu北','关','他'))
删除的主要特点
删除评分有在哪里
(选择SID从学生那里sname在('liu北','关','他'))

实现分页
-最近招收的学生
从学生中选出前3名
通过SID DESC顺序
-询问第一个学生
从学生中选出前3名
SID不在的地方(从SID选择学生命令的前3个SID)
通过SID DESC顺序
查询学生
从学生中选出前3名
SID不在的地方(从SID选择学生命令的前6个SID)
通过SID DESC顺序
-上面是SQL 2000实现之前的方式。在SQLServer2005,的row_number功能加到简化实现。
分页——SQL 2005
SELECT * FROM
(选择row_number()在(通过SID倒序)为民,从为学生)
1到3之间的数字
SELECT * FROM
(选择row_number()在(通过SID倒序)为民,从为学生)
4到6之间的数字
SELECT * FROM
(选择row_number()在(通过SID倒序)为民,从为学生)
7到9之间的数字
SELECT * FROM
(选择row_number()在(通过SID倒序)为民,从为学生)
3(*)+ 1和3×3之间的数字
表的连接
交叉连接交叉连接
从学生中选择*
交叉连接类
-内部连接内部连接…在…
从学生中选择*
内部联接sclassid = CID类
从类中选择*
-查询所有学生的姓名、年龄和班级
姓名,鼠尾草,CNAME,ssex从学生
内部联接sclassid = CID类
在ssex =女性
-年龄超过岁的学生的姓名、年龄和班级
姓名,鼠尾草,CNAME上课
内部联接sclassid = CID的学生
圣人20
外部连接
-左连接…在…
姓名,鼠尾草,CNAME上课
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部