视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
SQL巩固练习(用到了前几天几个知识点)
2020-11-09 10:09:19 责编:小采
文档

SQL 巩固练习用到了前几天几个知识点 在查看SQL Server 2005的帮助文档中的cross apply 运算符时发现了一个个人感觉用到的知识点儿比较多,比较经典的例子。在此写下来,也是为了巩固一下前几天的知识点。 先建表一员工表(Employees): CREATE TABLE Emplo

SQL 巩固练习——用到了前几天几个知识点

  在查看SQL Server 2005的帮助文档中的cross apply 运算符时发现了一个个人感觉用到的知识点儿比较多,免备案空间,比较经典的例子。在此写下来,空间,也是为了巩固一下前几天的知识点。

先建表一员工表(Employees):

CREATE TABLE Employees ( empid , mgrid int NULL, empname varchar(25) NOT NULL, salary , CONSTRAINT PK_Employees PRIMARY KEY(empid), )

向Employees表中插入数据:

Employees , $10000.00) , $5000.00) , $5000.00) , $5000.00) , $2500.00) , $2500.00) , $2500.00) , $2500.00) , $2500.00) , $2500.00) , $2000.00) , $2000.00) , $2000.00) , $1500.00)

查询向Employees表插入的全部数据SQL语句:

Employees

结果如图:

再建表二部门表(Departments):

CREATE TABLE Departments ( deptid , deptname VARCHAR(25) NOT NULL, deptmgrid Employees )

向Departments表插入数据:

, 2) , 7) , 8) , 9) , 4) , NULL)

查询向Departments表插入的全部数据SQL语句:

Departments

结果如图:

下面的表值函数使用雇员 ID 作为参数,并返回该雇员及他/她的所有下属(用到了前面所学的CTE公共表表达式 with...as... 的递归):

) ( empid , empname VARCHAR(25) NOT NULL, mgrid INT NULL, lvl ) Employees_Subtree(empid, empname, mgrid, lvl) AS ( empid, empname, mgrid, 0 FROM employees e.empid, e.empname, e.mgrid, es.lvlemployees AS e JOIN employees_subtree AS es ON e.mgrid = es.empid ) Employees_Subtree

返回每个部门经理的所有级别的全部下属,使用下面的SQL语句(用到了apply的cross apply):

Departments AS D CROSS APPLY fn_getsubtree(D.deptmgrid) AS ST

结果如图:

,虚拟主机

下载本文
显示全文
专题