三级数据库知识点(六)

空值判断


判断一个属性 属性的值是否为空值,用IS  NULL或IS NOT NULL来表示

注:

☞属性定义(或者是域定义)中有NOT NULL约束条件的不能取空值,加UNIQUE限制的属性不能取空值,码属性不能取空值

☞空值与另一个值(包括另一个空值)的算术运算结果为空值,空值与另一个值(包括空值)的比较运算的结果为UNKNOWN。有UNKNOWN后,传统的逻辑运算中二值(TRUE、FALSE)逻辑就扩展成了三值逻辑

 

TOP限制结果集


当使用SELECT语句进行查询时,只希望列出结果集中的前几行数据,而不是全部数据。

格式:TOP n 【percent】【WITH TIES】

1、TOP n:取查询结果的前n行数据

2、TOP n percent:取查询结果的前n%行数据

3、WITH TIES :表示包括最后一行取值并列的结果

☞TOP谓词写在SELECT单词的后面(如果有DISTINCT的话,则TOP写在DISTINCT的后面)、查询列表的前面

☞在使用TOP谓词时,应该与ORDER BY 子句一起使用;当使用WITH TIES选项时,则要求必须使用ORDER BY子句 

注:

☞WHERE子句中是不能用聚集函数作为条件表达式的;聚集函数只能用于SELECT子句和GROUP BY中HAVING子句

☞若SELECT 语句中同时包含WHERE子句和GROUP子句,则先执行的是WHERE子句

 

CASE


 概述:可以在查询语句中使用CASE函数,以达到分情况显示不同类型的数据的目的。CASE函数是一种多分支表达式,它计算条件列表并返回多个可能的结果表达式中的一个

格式:CASE 测试表达式

    WHEN 简单表达式1 THEN 结果表达式1

   WHEN 简单表达式2 THEN 结果表达式2

  ...

END 

CASE

     WHEN 布尔表达式1 THEN 结果表达式1

    WHEN  布尔表达式2  THEN 结果表达式2

    ....

 END

注:

☞所有的简单表达式都不与测试表达式的值相匹配,则当指定了ELSE子句时,将返回ELSE子句中指定的结果表达式的值,若没有指定ELSE子句,返回NULL值

☞搜索CASE函数的各个WHEN子句的布尔表达式可以使用比较运算符,也可以使用逻辑运算符

 

并运算


概述:

☞并运算可将两个或多个查询语句合并为一个结果集,这个运算可以使用UNION运算符实现。UNION是一个特殊的运算符,通过它可以实现让两个或更多的查询产生单一的结果集

☞UNION操作与JOIN连接操作不同,UNION是将一个查询结果追加到另一个查询结果中。JOIN操作时水平地合并数据(添加更多的列),而UNION是垂直地合并数据(添加更多行)

☞ALL表示在结果集中包含所有查询语句产生的全部标记,包括重复的行;如果没有指定ALL,则系统默认是删除后合并结果集的重复记录

 

使用要求:

☞所有要进行UNION操作的查询,其SELECT列表中列的个数必须相同,而且对应列的语义应该相同

☞各查询语句中每列的数据类型必须与其查询中对应列的数据类型是隐式兼容的,只要他们能够进行隐式转换即可。

☞合并后的结果采用第一个SELECT语句的列表题

☞如果要对查询的结果进行排序,则ORDER BY子句应该写在最后一个查询语句之后,且排序的依据列应该是第一个查询语句中刚出现的列名

 

相关子查询


☞在相关子查询中,子查询的执行次数是由外层来决定的

☞对包含相关子查询的查询语句,是先执行外层查询,再执行内层查询

☞对包含基于集合测试子查询的查询语句,是先执行内层查询,再执行外层查询

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值