草庐IT

SQL server 实验5 T-SQL编程

袁既望 2023-11-17 原文

书目:SQL sever 实用教程(第五版)(SQL server 2008版)
本实验使用数据表为实验3中创建的employees、departments、salary表

 

 

1.自定义数据类型的使用


(1)对于实验2给出的数据库表结构,再自定义一个数据类型ID_type,用于描述员工编号。

  •  在“对象资源管理器”中展开“数据库”→“PXSCJ”→“可编程性”,右击“类型”,在弹出的快捷菜单上选择“新建”菜单项,在打开的“新建数据类型”窗口中使用界面方式建一个用户自定义数据类型

 (2)在YGGL数据库中创建表Employee3,表结构与Employee类似,只是EmployeeID列使用的数据类型为用户自定义数据类型ID_type

 


 

 

2.变量的使用


(1)对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在select语句中使用该局部变量查找表中所有女员工的员工编号、姓名

 (2)定义一个变量,用于获取员工编号为102201的员工的电话号码

  •  定义一个变量,用于描述YGGL数据库的Salary表中000001号员工的实际收入,然后查询该变量

 


 

 

3.运算符的使用


(1)使用算是运算符“-”查询员工的实际收入

 (2)使用比较运算符“>”查询Employees表中工作时间大于5年的员工信息


 

 

4.流程控制语句


(1)判断Employees表中是否存在编号为111006的员工,如果存在则显示该员工信息,不存在则显示“查无此人”

  •  判断姓名为“王林”的员工实际收入是否高于3000元,如果是则显示其收入,否则显示“收入不高于3000”

 (2)假设变量X的初始值为0,每次加1,直至X变为5

  •  使用循环输出一个用“*”组成的三角形

 (3)使用CASE语句对Employees表按部门进行分类

  •  使用IF语句实现以上功能

 

 

5.自定义函数的使用


(1)定义一个函数实现如下功能:对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1

 (2)编写一段T-SQL程序调用上述函数。向表Employees插入一行记录时,首先调用函数CHECK_ID检索该记录的DemartmentID值在表Departments的DepartmentID字段中是否存在对应值,若存在则将该记录插入表Employees

  • 自定义一个函数,计算一个数的阶乘

 


 

 

6.系统内置函数的使用


(1)求一个数的绝对值

  •  使用RAND()函数产生一个0~1的随机值
  •  使用SQUARE()函数获得一个数的平方
  •  使用SQRT()函数返回一个数的平方根

 (2)求财务部雇员的总人数

  •  求财务部收入最高的员工姓名
  • 查询员工收入的平均数

 

(3)使用ASCII函数返回字符表达式最左端字符的ASCII值

  •  使用CHAR()函数将ASCII码代表的字符组成字符串
  • 使用LEFT()函数返回从字符串“abcdef”左边开始的3个字符

 (4)获得当前的日期和时间

 查询YGGL数据库中员工编号为000001的员工出生的年份

  •  使用DAY()函数返回指定日期时间的天数
  •  列举出其他的时间日期函数
  •  使用其他类型的系统内置函数 

 


 

以上内容仅供参考

 

 

有关SQL server 实验5 T-SQL编程的更多相关文章

  1. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  2. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  3. Hive SQL 五大经典面试题 - 2

    目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类

  4. sql - 查询忽略时间戳日期的时间范围 - 2

    我正在尝试查询我的Rails数据库(Postgres)中的购买表,我想查询时间范围。例如,我想知道在所有日期的下午2点到3点之间进行了多少次购买。此表中有一个created_at列,但我不知道如何在不搜索特定日期的情况下完成此操作。我试过:Purchases.where("created_atBETWEEN?and?",Time.now-1.hour,Time.now)但这最终只会搜索今天与那些时间的日期。 最佳答案 您需要使用PostgreSQL'sdate_part/extractfunction从created_at中提取小时

  5. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  6. ruby - 如何以编程方式删除实例上的 "singleton information"以使其编码(marshal)? - 2

    我创建了一个由于“在运行时执行的单例元类定义”而无法编码的对象(这段代码的描述是否正确?)。这是通过以下代码执行的:#defineclassXthatmyusesingletonclassmetaprogrammingfeatures#throughcallofmethod:break_marshalling!classXdefbreak_marshalling!meta_class=class我该怎么做才能使对象编码正确?是否可以从对象instance_of_x的classX中“移除”单例组件?我真的需要一个建议,因为我们的一些对象需要通过Marshal.dump序列化机制进行缓存。

  7. Ruby 元编程问题 - 2

    我正在查看Ruby日志记录库Logging.logger方法并从sourceatgithub提出问题与这段代码有关:logger=::Logging::Logger.new(name)logger.add_appendersappenderlogger.additive=falseclass我知道类 最佳答案 这实际上删除了方法(当它实际被执行时)。这是确保close不会被调用两次的保障措施。看起来好像有嵌套的“class 关于Ruby元编程问题,我们在StackOverflow上找到一

  8. ruby - Paperclip:以编程方式分配图像并设置其名称 - 2

    使用Paperclip,我想从这样的URL抓取图像:require'open-uri'user.photo=open(url)问题是我最后得到一个像“open-uri20110915-4852-1o7k5uw”这样的文件名。有什么方法可以更改user.photo上的文件名?作为一个额外的变化,Paperclip将我的文件存储在S3上,所以如果我可以在初始分配中设置我想要的文件名就更好了,这样图像就会上传到正确的S3key。像这样:user.photo=open(url),:filename=>URI.parse(url).path 最佳答案

  9. ruby - 如何以编程方式检查证书是否已被吊销? - 2

    我正在开发一个xcode自动构建系统。在执行一些预构建验证时,我想检查指定的证书文件是否已被撤销。我了解securityverify-cert验证其他证书属性但不验证吊销。我如何检查撤销?我正在用Ruby编写构建系统,但我对任何语言的想法都持开放态度。我阅读了这个答案(Openssl-Howtocheckifacertificateisrevokedornot),但指向底部的链接(DoesOpenSSLautomaticallyhandleCRLs(CertificateRevocationLists)now?)进入的Material对我的目的来说有点过于复杂(用户上传已撤销的证书是一

  10. sql - 在 Rails Console for PostgreSQL 的表中显示数据 - 2

    我找到了这样的东西:Rails:Howtolistdatabasetables/objectsusingtheRailsconsole?这一行没问题:ActiveRecord::Base.connection.tables并返回所有表但是ActiveRecord::Base.connection.table_structure("users")产生错误:ActiveRecord::Base.connection.table_structure("projects")我认为table_structure不是Postgres方法。如何列出Postgres数据库的Rails控制台中表中的所有

随机推荐