SQL语句–简单的函数书写举例(3)

在前两篇中,案例只涉及到简单的数值,这样的函数称为【标量函数】
这里的函数,可以简单的理解为它是一个可以进行计算的工具

标量函数:是简单的数值,eg:int、char、decimal;它不能返回文本、图片等
表值函数:返回的是1个表

这次案例我们例举一个简单的【表值函数】
我想达到的目的是:
输入“1个员工的ID”,能返回(输出)“该员工的DepartmentName”和“该员工的Name”

【1.创建函数】

------------------------------------创建函数 dbo.Employee_Department-------------------
eg:
CREATE FUNCTION dbo.Employee_Department(@EmployeeID int)
---CREATE FUNCTION 函数名(@参数 数据类型)
RETURNS TABLE
---这行为固定格式
AS
RETURN
---当该函数是【表值函数】的时候,这个return后面不用写别的东西
SELECT t1.DepartmentName AS '所住公寓',t2.Name AS '员工'
---查 DepartmentName列 命名为 所住公寓 ;Name列 命名为 员工
FROM  dbo.Department t1 INNER JOIN dbo.Employee t2 ON t2.DepartmentID = t1.DepartmentID
WHERE t2.EmployeeID=@EmployeeID
---将 具体的 参数值@EmployeeID 赋值给 t2.EmployeeID ,根据这个值,在关联的两张表里,查对应 DepartmentName和 Name的信息 

【2.查询函数】

------------------------------------查询函数 dbo.Employee_Department-------------------
SELECT * FROM dbo.Employee_Department(1003)
---查询员工编号为1003的员工的 DepartmentName和 Name信息

返回结果

此时发现 DepartmentName 列命名不符合实际,需要对函数进行修改
【3.修改函数】

------------------------------------修改函数 dbo.Employee_Department-------------------
ALTER FUNCTION dbo.Employee_Department(@EmployeeID int)
RETURNS TABLE
AS
RETURN
SELECT t1.DepartmentName AS '系别',t2.Name AS '员工'
---将'所住公寓' 改为 '系别'
FROM  dbo.Department t1 INNER JOIN dbo.Employee t2 ON t2.DepartmentID = t1.DepartmentID
WHERE t2.EmployeeID=@EmployeeID

再次执行查询语句,返回结果如下图:

【4.删除函数】
当我们想删除该函数时,执行下面的语句即可:

------------------------------------删除函数 dbo.Employee_Department-------------------
DROP FUNCTION dbo.Employee_Department 

上一篇:SQL语句–简单的函数书写举例(2)
下一篇:SQL语句–简单的函数书写举例(4)

SQL语句--简单的函数书写举例(3)相关推荐

  1. SQL语句--简单的函数书写举例(1)

    SQL语句–简单的函数书写举例(1) 在数据库下的[可编程性]–[函数]下可看到有4类函数,平时用的函数大部分为[系统函数]下的,当这些函数不能满足实际需求时,我们要自己创建函数. eg:计算 A+B ...

  2. sql语句insert插入函数如果values值括号里放变量名

    sql语句insert插入函数如果values值括号里直接放变量名就会到时表增加了一个空的记录,解决方法是使用特殊格式 String sql = "insert into user(name ...

  3. 初始SQL语句 简单使用

    初始SQL语句 简单使用 SQL语言共分为四大类: DQL (Data QueryLanguage )数据查询语言 DML(Data manipulation language)数据操纵语言 DDL( ...

  4. DAO层关于sql语句大于或者小于书写问题

    DAO层关于sql语句大于或者小于书写问题 在Dao层写入sql语句是,在对于sql语句含有大于或者小于的逻辑判断时,不能直接写 > or < ,直接写会发现程序会报错.可以通过以下两种方 ...

  5. Oracle sql语句简单优化

    一.操作符优化: 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不 ...

  6. SQL语句执行顺序及书写建议

    查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--wher ...

  7. SQL语句之单行函数

    单行函数 1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把经常使用的代码封装起来,需要的时候直接调用即可.这样既提高了代码效率,又提高了可维护性.在 ...

  8. sql语句中的函数使用

    select *,sum(item_XXname) as itemSum from 表名. get(itemSum) 便可得到一系列的对应字段的和. 涉及到的其他的函数还有,摘自以下地址 http:/ ...

  9. mysql笔记 SQL语句简单的增删改查

    文章目录 mysql来源 navicat快捷键 mysql数据库语言分类 DQL 简单查询 条件查询 模糊查询 分组查询 使用limit字句 多表查询 在增删改句子中使用子查询 排序 显示当前使用数据 ...

最新文章

  1. win32api.keybd_event 怎么输入中文_6个输入法高效使用技巧,你知道几个?
  2. poj2586(贪心盈亏问题)
  3. JBoss Portal CAS 的配置
  4. 2021-10-11 程序人生 -感想随笔
  5. 15岁杀人犯监狱学编程,37岁保释年薪70万
  6. php设置超链接,怎么给一个PHP密码访问页面加超链接
  7. QT综合示例:QT串口通信
  8. php清除输出缓冲,php如何清除缓冲区
  9. Android ProgressBar示例
  10. kotlin-中文免费文档(后台,android,前端)
  11. imx8qm LVDS屏 DS90UB9478调试
  12. Android Studio 配置 NDK 开发编译环境
  13. 通俗易懂的通用excel导出
  14. 世预赛乌拉圭VS哥伦比亚最新赛事解析:客场保平属性强怎么下单
  15. 抓取全网财经新闻,计算新闻相关股票的多空舆情,量化买入
  16. 组合导航初始对准(1)
  17. BitComet 0.90 ED下载功能的插件下载地址
  18. XXXXXXXX学校“新教师、新风采”展示课活动方案
  19. OPS 数字标牌开放式可插拔规范
  20. 图论—简化图数据结构和遍历算法

热门文章

  1. iOS模拟各种网络状态
  2. 亨登谈判策略(转载)
  3. 嵌入式技术及应用基础实验
  4. 安装某考试软件提示MDAC没有安装或者出错
  5. 如何从手机上恢复误删的微信聊天记录
  6. Python每日一练-----难题唯唯诺诺,易题重拳出击?(回文数)
  7. java 树结构_Java通用tree树形结构
  8. hp1020打印机驱动下载地址
  9. 关于虚拟机中安装Ubuntu时界面显示不全的解决办法
  10. 电子邮箱哪个好用又安全?