先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
(1)CASE函数
CASE有两种使用形式:一种是简单的CASE函数,另一种是搜索型的CASE函数。
① 简单的 CASE 函数。语法格式:
CASE input_expression
WHEN when_expression THEN result_expression […n ]
[ ELSE else_result_expression ]
END
功能:计算input_expression表达式之值,并与每一个when_expression表达式的值比较,若相等,则返回对应的result_expression表达式之值;否则返回else_result_expression表达式的值。
② 搜索型的CASE 函数。语法格式:
CASE
WHEN Boolean_expression THEN result_expression […n ]
[ ELSE else_result_expression]
END
功能:按指定顺序为每个 WHEN 子句的 Boolean_expression 表达式求值,返回第一个取值为 TRUE 的 Boolean_expression 表达式对应的 result_expression表达式之值;如果没有取值为TRUE的Boolean_expression表达式,则当指定 ELSE 子句时,返回 else_result_expression 之值;若没有指定 ELSE 子句,则返回 NULL。
【例】 使用CASE函数对读者按性别分类。
/使用带有简单 CASE 函数的 SELECT 语句/
SELECT 借书证号,sex=
CASE 性别
WHEN 0 THEN ‘男生’
WHEN 1 THEN ‘女生’
END
FROM xs
使用第二种格式的CASE语句则可以使用以下T-SQL语句:
SELECT 借书证号, 姓名, 专业, SEX=
CASE
WHEN 性别=1 THEN ‘男’
WHEN 性别=0 THEN ‘女’
ELSE ‘无’
END
FROM xs
(2)CAST 和 CONVERT函数
常用的类型转换有如下几种:
① 日期型→字符型。
② 字符型→日期型。
③ 数值型→字符型。
语法格式:
CAST ( expression AS data_type )
CONVERT (data_type[(length)], expression)
功能:将expression表达式的类型转换为data_type所指定的类型。
【例】 如下程序将检索库存量为3~10的ISBN、书名,并将库存量转换为char(20)。
/如下例子同时使用 CAST 和 CONVERT/
– 使用CAST实现.
SELECT ISBN,书名,库存量
FROM book
WHERE CAST(库存量 AS char(20)) LIKE ‘__’ and 库存量>=3 and 库存量<10
GO
– 使用 CONVERT实现.
SELECT ISBN,书名,库存量
FROM book
WHERE CONVERT(char(20),库存量) LIKE ‘__’ and 库存量>=3 and 库存量<10
GO
(3)COALESCE函数
COALESCE ( expression [ ,…n ] )
功能:返回参数表中第一个非空表达式的值,如果所有表达式均为 NULL,则 COALESCE 返回 NULL 值。
COALESCE(expression1,...n)
与如下形式的CASE 函数等价:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
…
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
(4)ISNUMBRIC函数。
ISNUMBRIC函数用于判断一个表达式是否为数值类型。
ISNUMBRIC(expression)
如果输入表达式的计算值为有效的整数、浮点数、money或decimal类型时,ISNUMERIC返回1;否则返回 0。
日期函数可用在 SELECT 语句的选择列表或用在查询的 WHERE 子句中。
(1)GETDATE函数
GETDATE ( )
功能:按SQL Server标准内部格式返回当前系统日期和时间。返回值类型:datetime。
(2)DATEPAR函数
DATEPART(datepart,date)
功能:按datepart指定格式返回日期,返回值类型为int。datepart的取值可为非缩写形式或缩写形式。参数date的类型应为datetime或smalldatetime。
(3)DATEDIFF函数
DATEDIFF(datepart,startdate,enddate)
功能:按datepart指定的内容,返回startdate,enddate两个指定的日期时间之间的间隔,间隔可以以年、季度、月、周、天数或小时等为单位,这取决于datepart的取值。
参数类型与取值:datepart的取值范围如下表所示。
【例】 编写程序根据读者的出生时间,计算其年龄。
USE xsbook
SET NOCOUNT ON
DECLARE @startdate datetime
SET @startdate = getdate()
SELECT DATEDIFF(yy,出生时间,@startdate ) AS 年龄
FROM xs
(4)YEAR、MONTH、DAY函数
这三个函数分别返回指定日期的年、月、天部分,返回值都为整数。语法格式:
YEAR(date)
MONTH(date)
DAY(date)
游标函数用于返回游标的有关信息。主要有如下游标函数:
(1)@@CURSOR_ROWS
语法格式:
@@CURSOR_ROWS
功能:返回最后打开的游标中当前存在的满足条件的行数。
(2)CURSOR_STATUS
语法格式:
CURSOR_STATUS
( { ‘local’ , ‘cursor_name’ } /指明数据源为本地游标/
| { ‘global’ , ‘cursor_name’ } /指明数据源为全局游标/
| { ‘variable’ , cursor_variable } /指明数据源为游标变量/
)
功能:返回游标状态是打开还是关闭。CURSOR_STATUS函数返回值如下表所示。
(3)@@FETCH_STATUS
语法格式:
@@FETCH_STATUS
功能:返回== FETCH 语句执行后游标的状态==。返回值类型为integer。@@FETCH_STATUS返回值如表下所示。
===========================================================================
根据用户定义函数返回值的类型,可将用户定义函数分为如下两个类别:
(1)标量函数:用户定义函数返回值为标量值,这样的函数称为标量函数。
(2)表值函数:返回值为整个表的用户定义函数为表值函数。根据函数主体的定义方式,表值函数又可分为内嵌表值函数或多语句表值函数。
(1)标量函数的定义。
语法格式:
CREATE FUNCTION [ <数据库架构名>. ] <函数名> /函数名部分/
( [ { @<形参名> [ AS ][ type_schema_name.]<数据类型> /形参定义部分/
[ = default ] [ READONLY ] } [ ,…n ] ])
RETURNS <返回类型> /返回参数的类型/
[ WITH <function_option> [ ,…n ] ] /函数选项定义/
[ AS ]
BEGIN
function_body /函数体部分/
RETURN scalar_expression /返回语句/
END
[ ; ]
其中:
<function_option>::=
{
[ ENCRYPTION ]
| [ SCHEMABINDING ]
| [ RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ]
}
说明:
(1)<函数名>:函数名必须符合标识符的规则,对其架构来说该名在数据库中必须是唯一的。
(2)<形参名>:CREATE FUNCTION语句中可以声明一个或多个参数,用@符号作为第一个字符来指定形参名,每个函数的参数局部于该函数。
(3)<数据类型>:参数的数据类型可为系统支持的基本标量类型,不能为timestamp类型、用户定义数据类型、非标量类型(如cursor和table)。
(4)<返回类型>:函数使用RETURNS语句指定用户定义函数的返回值类型。
(5)function_body:由T-SQL语句序列构成的函数体。
(6)<function_option>:标量函数的选项。
从上述语法形式,归纳出标量函数的一般定义形式如下:
CREATE FUNCTION [所有者名.] 函数名
( 参数1 [AS] 类型1 [ = 默认值 ] ) [ ,…参数n [AS] 类型n [ = 默认值 ] ] ] )
RETURNS 返回值类型
[ WITH 选项 ]
[ AS ]
BEGIN
函数体
RETURN 标量表达式
END
【例】 定义一个函数,按性别计算当前所有读者的平均年龄。
① 为了计算平均年龄,创建如下视图:
USE xsbook
GO
IF EXISTS(SELECT name FROM sysobjects WHERE name=‘VIEW_AGE’ AND type=‘v’)
DROP VIEW VIEW_AGE
GO
CREATE VIEW VIEW_AGE
AS SELECT 借书证号,性别,datepart(yyyy,GETDATE ( ))-datepart(yyyy,出生时间) as 年龄
FROM xs
GO
② 创建函数aver_age,用于按性别计算当前读者的平均年龄。
/检查该函数aver_age是否已定义,若已定义,则删除之/
IF EXISTS(SELECT name FROM sysobjects WHERE name=‘aver_age’ AND type=‘FN’)
DROP FUNCTION aver_age
GO
CREATE FUNCTION aver_age(@sex bit) RETURNS int
AS
BEGIN
DECLARE @aver int
SELECT @aver=
( SELECT avg(年龄)
FROM VIEW_AGE
WHERE 性别=@SEX
)
RETURN @aver
END
GO
(2)标量函数的调用
可按以下方式调用标量函数:
① 在SELECT语句中调用。调用形式:
架构名.函数名(实参1,…,实参n)
实参可为已赋值的局部变量或表达式。
【例】 如下程序对上例定义的aver_age函数进行调用。
/定义局部变量/
DECLARE @sex bit
DECLARE @aver1 int
/给局部变量赋值/
SELECT @sex = 1
SELECT @aver1=dbo.aver_age(@sex) /调用用户函数,并将返回值赋给局部变量/
/显示局部变量的值/
SELECT @aver1 AS ‘男性读者的平均年龄’
② 利用EXEC语句执行
用T-SQL的EXECUTE(EXEC)语句调用用户函数时,参数的标识次序与函数定义中的参数标识次序可以不同。
调用形式:
EXEC 变量名=架构名名.函数名 实参1,…,实参n
或
EXEC变量名=架构名.函数名 形参名1=实参1,…, 形参名n=实参n
【例】 利用EXEC调用用户定义函数aver_age。
DECLARE @aver1 int /显示局部变量的值/
EXEC @aver1 = dbo.aver_age @sex = 0
/通过EXEC调用用户函数,并将返回值赋给局部变量/
SELECT @aver1 AS ‘女性读者的平均年龄’
内嵌表值函数是返回记录集的用户自定义函数,可用于实现参数化视图的功能。例如,有如下视图:
CREATE VIEW View1
AS
SELECT 借书证号, 姓名
FROM xsbook.dbo.xs
WHERE 专业= ‘计算机’
若希望设计更通用的程序,让用户能指定感兴趣的查询内容,可将WHERE 专业= ‘计算机’ 替换为 WHERE 专业= @para,@para用于传递参数,但视图不支持在 WHERE 子句中指定搜索条件参数,为解决这一问题,我们可定义内嵌表值函数,如下例所示。
/内嵌表值函数的定义/
IF EXISTS(SELECT name FROM sysobjects WHERE name=‘fn_View1’ AND TYPE=‘IF’)
DROP FUNCTION fn_View1
GO
CREATE FUNCTION fn_View1 ( @Para char(12) )
RETURNS TABLE
AS RETURN
( SELECT 借书证号,姓名
FROM dbo.xs
WHERE 专业= @para
)
GO
/内嵌函数的调用/
SELECT * FROM fn_View1 (N’计算机’)
GO
下面介绍内嵌表值函数的定义及调用。
(1)内嵌表值函数的定义
语法格式:
CREATE FUNCTION [ <数据库架构名>. ] <函数名> /定义函数名部分/
( [ { @<形参名> [ AS ] [ type_schema_name. ]<数据类型>
[ = default ] } [ ,…n ] ]) /定义参数部分/
RETURNS TABLE /返回值为表类型/
[ WITH <function_option> [ ,…n ] ] /定义函数的可选项/
[ AS ]
RETURN [ ( ] select_stmt [ ) ] /通过SELECT语句返回内嵌表/
[ ; ]
最后
技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
EATE FUNCTION [ <数据库架构名>. ] <函数名> /定义函数名部分/
( [ { @<形参名> [ AS ] [ type_schema_name. ]<数据类型>
[ = default ] } [ ,…n ] ]) /定义参数部分/
RETURNS TABLE /返回值为表类型/
[ WITH <function_option> [ ,…n ] ] /定义函数的可选项/
[ AS ]
RETURN [ ( ] select_stmt [ ) ] /通过SELECT语句返回内嵌表/
[ ; ]
最后
技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
[外链图片转存中…(img-PZmcQVQ8-1713429699660)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-VpwEsoAP-1713429699660)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!