NIIT课本整理知识点.docx

上传人:b****8 文档编号:30489130 上传时间:2023-08-15 格式:DOCX 页数:16 大小:202.39KB
下载 相关 举报
NIIT课本整理知识点.docx_第1页
第1页 / 共16页
NIIT课本整理知识点.docx_第2页
第2页 / 共16页
NIIT课本整理知识点.docx_第3页
第3页 / 共16页
NIIT课本整理知识点.docx_第4页
第4页 / 共16页
NIIT课本整理知识点.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

NIIT课本整理知识点.docx

《NIIT课本整理知识点.docx》由会员分享,可在线阅读,更多相关《NIIT课本整理知识点.docx(16页珍藏版)》请在冰豆网上搜索。

NIIT课本整理知识点.docx

NIIT课本整理知识点

Select语句的一般格式:

SELECT[ALL|DISTINCT]<目标列表达式>[别名][,<目标列表达式>[别名]]…

FROM<表名或视图名>[别名][,<表名或视图名>[别名]]…

[WHERE<条件表达式>]

[GROUPBY<列名1>[HAVING<条件表达式>]]

[ORDERBY<列名2>[ASC|DESC]]

--从(from)哪里来(where)分组(group)由’有’(having)命令(order)排列(asc|desc)

1、目标列表达式有以下可选格式:

、*

、<表名>.*

、COUNT([DISTINCT|ALL]*)

、[<表名>.]<属性列名表达式>[,[<表名>.]<属性列名表达式>]…

其中<属性列名表达式>可以是由属性列、作用于属性列的聚集函数和常量的任意算数运算(+,-,*,/)组成的运算公式

2、聚集函数的一般格式为:

([DISTINCT|ALL]<列名>)

3、where子句的条件表达式有以下可选格式:

、<属性列名>

、<属性列名>[NOT]BETWEEN

AND

、<属性列名>[NOT]IN

、<属性列名>[NOT]LIKE<匹配串>

、<属性列名>IS[NOT]LIKE<匹配串>

、[NOT]EXISTS(SELECT语句)

、<条件表达式>

<条件表达式>

 

自定义显示:

1、可以使用文字向列中显示的值添加更多文本,文字是字符串值,用单引号括起来,如

selectcustomerid,'价格',price

fromitems_ordered

显示如下:

2、并置输出表中的文本值:

并置两个字符串,如:

select'你是‘+’谁啊'

显示如下:

将表中的两列并置到单独一列:

如:

selectcustomerid+'买了:

'+itemasitemfromitems_ordered

As后面跟的是将要显示出来的列名,可以是已存在的列名,也可以是虚拟的列名,其无实际意义

3、计算列值:

如:

selectcustomerid,two_price=2*pricefromitems_ordered

uselonewolf

selectcustomerid,2*priceastwo_pricefromitems_ordered

等于号‘=’和as效果相同只不过语句中位置不同,as在后,=号在前

4、检索选定行:

即查看与条件匹配的记录,在select语句中使用where子句,使用where子句选择满足条件的行

select*fromitems_orderedwhereitem='Tent'

5、使用比较运算符来指定条件

语法是

selectcolumn_list

fromtable_name

whereexpression1comparison_operaratorexpression2

--其中expression1和expression2是常量、变量、函数或基于列的表达式的任何有效组合

如:

selectprice

fromitems_ordered

whereprice>=100

一些运算符:

<>,!

=不等于

<不小于

>不大于

6、检索满足一个或多个条件的记录

OR:

至少满足一个条件时返回true值

如:

select*fromitems_ordered

wherequantity='4'orprice>1000

and:

用于连接两个条件并在均满足这两个条件时返回true值

如:

select*fromitems_ordered

wherequantity='4'andprice<1000

Not:

对搜索条件的结果相反

select*fromitems_ordered

wherenotprice<1000

Between:

指定要搜索的包含范围

select*fromitems_ordered

wherepricebetween200and1500

Notbetween:

从结果集排除指定的范围

select*fromitems_ordered

wherepricenotbetween5and1500

--not的位置最好紧跟between,不过不紧跟也不报错

7、检索包含给定值集中任何值的记录

这类运算是使用IN和NOTIN关键字执行的

select*fromitems_ordered

wherequantityin('3','4')

8、like关键字用于使用通配符来搜索字符串,通配符是特殊字符

%表示任何字符串,可以是零个或更多字符

_表示任何单个字符

[]表示指定范围内的任何单个字符—范围是指:

中括号中给定值的所有单个值的集合

[^]表示指定范围外的任何单个字符

表达式

返回

LIKE’LO%’

以“LO”开头的所有名称

LIKE’%ion’

以ion结尾的所有名称

LIKE’%rt%’

其中包含字母rt的所有名称

LIKE’_rt’

所有以rt结尾的三个字母的名称

LIKE’[DK]%’

以D或K开头的所有名称

LIKE’[A&nbhy;D]ear

所有以ear结尾并以A到D中任一字母开头的四个字母的名称

LIKE’D[^c]%’

以D开头并且第二个字母不是c的所有名称

Like运算符不区分大小写

9、null值在列中暗示该列没有提供任何数据值,语法:

Selectcolumn_listFromtable_name

Wherecolumn_nameunknown_value_operator

其中unknown_value_operator是关键字ISNULL或ISNOTNULL

selectcustomeridfrom

items_orderedwherepriceisnull

两个NULL值不想等。

无法比较一个NULL值和另一个NULL值。

在按升序排列的输出中,NULL值总是第一个显示的项

10、检索将按一定顺序显示的记录

可以使用select语句的ORDERBY子句按特定顺序显示数据。

数据可以按给定列中值的升序或降序显示。

ORDERBY子句:

按照递增或递减顺序在指定字段中对查询的结果记录进行排序

在select语句中使用ORDERBY子句的语法是:

Selectselect_listfromtable_name

[ORDERBYORDER_by_expression[ASC|DESC],order_by_expression[ASC|DESC]…]

其中order_by_expression是要执行排序运算的列名

ASC指定需要按升序来排序值

DESC是指定需要按降序来排序值

如:

select*fromitems_orderedorderbypriceASC

ORDERBY子句完全可以与WHERE子句一起使用,唯一需要注意的就是:

ORDERBY子句要放到WHERE子句之后,即:

select*fromitems_orderedwhereprice>200orderbypriceDESC;

或者基于多个列来对结果集排序,为此,需要在ORDERBY子句中指定列的排序顺序,如

select*fromitems_orderedorderbycustomerid,price

上述查询先按照customerid的升序,然后按照price的升序来排序items_ordered表

如果没有在ORDERBY子句中指定列名的关键字,将按升序来排序记录

ORDERBY子句不会从物理上对表排序

11、从表顶部检索记录

TOP关键字是从查询结果返回的一些记录或者一定百分比的行

selecttop10column_name

fromitems_ordered—显示前10行的列

selecttop10percentcolumn_name

fromitems_ordered--显示前10%的列

12、检索值不重复的记录:

需要删除列中具有重复值的行时,可以使用distinct关键字。

Distinct关键字从结果集中删除重复行。

关键词DISTINCT用于返回唯一不同的值

selectdistinctitemfromitems_ordered

使用函数来定义结果集:

1、使用字符串函数

2、使用日期函数

查询显示当前日期:

selectGETDATE()

函数名

参数

示例

描述

Dateadd

(datepert,number,date)

Selectdateadd(mm,3,’2009-01-01’)

返回2009-04-01,即向该日期加上三个月

Datediff

(datepart,date1,date2)

Selectdatename(month,convert(datetime,’2009-09-01’))

返回4,计算两个日期的该日期(year)的间隔

Datename

(datepart,date)

Selectdatename(month,convert(datetime,’2005-06-06’))

返回6月,这是所列日期的月份,返回值为字符值

Getdate

无参数

Selectgetdate()

返回当前日期和时间

Day

(date)

Selectday(‘2009&nbhy,01-05’)

返回5,代表几号,返回值为整数

Getutcdate

无参数

Selectgetutcdate()

返回系统当前日期,使用“协调世界时(UTC)”,UTC时间也称格林威治时间(GMT)

Month

(date)

Selectmonth(‘2009&nbhy,01&nbhy;05’’)

返回1,代表月份,返回值为整数

Year

(date)

Selectyear(‘2009-01-05’)

返回2009,代表年份,返回值为整数

日期函数的利用:

selectcustomerid,DATENAME(YY,order_date)+','+convert(varchar,datepart(MM,order_date))+'买了'+itemasxiaofei

fromitems_ordered

另一例子:

selectitem,convert(char(10),order_date,2)as'hiredate'

fromitems_ordered

排名函数

Row_number()

Rank()

Dense_rank()

Ntile()

以上这些函数都是用over子句。

该子句确定在行中指定排名的升序或降序。

可以将partitionby子句与over子句一起使用来划分执行排名的行。

Partitionby子句根据指定的条件将结果集划分为分区,然后rank函数应用到每个分区

Row_number()函数

根据列为结果集中的行返回有序数字,从1开始

如:

selectitem,price,order_date,ROW_NUMBER()over(orderbypriceasc)asrankfromitems_ordered

rank()函数

根据指定条件在结果集中返回每一行的排名

如:

selectitem,price,order_date,Rank()over(orderbypriceasc)asrankfromitems_ordered

如上所示,相同的会有并列排名,而且有了并列则排名就是不连续的了

Dense_rank()函数

适用于需要根据指定条件给出连续排名值的情况。

其执行的排名任务与rank()函数执行的一样,但是它为输出提供连续的排名值如:

selectitem,price,order_date,dense_rank()over(orderbypriceasc)asrankfromitems_ordered

分区函数partitionby:

partitionby关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partitionby用于给结果集分组,如果没有指定,那么它把整个结果集作为一个分组

示例:

--不分班按学生成绩排名

select*,ROW_NUMBER()over(orderbyScoredesc)asSequencefromStudent

--分班后按学生成绩排名

select*,row_number()over(partitionbyGradeorderbyScoredesc)asSequencefromStudent

聚合函数:

用来生成汇总数据

Avg()返回数据表达式中的平均值

Count()返回表达式中的值数

Min()返回表达式中的最小值

Max()返回表达式中的最大值

Sum()返回素质表达式中全部值或唯一值的总和

分组数据:

Groupby子句使用聚合函数将结果集汇总到组中,having子句进一步限制结果集以根据条件生成数据

Groupby的含义是将数据分组,然后在组中进行函数操作

如:

selectitem,SUM(price)

fromitems_ordered

groupbyitem

--将items_ordered表按照item分组,然后分别计算各组中的item花费总和

且GROUPBY子句中出现的列,也要包含在SELECT语句中

HAVING子句对GROUPBY子句设置条件的方式与WHERE子句和SELECT语句交互的方式类似

WHERE子句搜索条件在进行分组操作之前应用

而HAVING搜索条件在进行分组操作之后应用

HAVING语法与WHERE语法类似,但HAVING可以包含聚合函数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1