首页 > 数据库 >数据库实验报告

数据库实验报告

时间:2024-07-28 14:53:43浏览次数:13  
标签:查询 DISTINCT 数据库 子句 员工 分组 表中 实验报告

实验名称:           单表查询           

一、实验预习报告

1、实验相关知识的简述:

1)指定列或全部列查询(Select

  • 查询指定列:在SELECT子句的<目标列表达式>中指定要查询的属性列;
  • 查询全部列:在SELECT子句的<目标列表达式>中列出所有列名,或者将<目标列表达式>指定为* ;
  • 查询经过计算的值:SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式(算术表达式、字符串常量、函数等)。

SELECT <目标列表达式>

FROM <表名或视图名>

2)按条件查询(Where

WHERE字句常用的查询条件

查询条件

谓词

比较

= , > , < , >= , <= , (<> , !=不等于)

确定范围

BETWEEN AND, NOT BETWEEN AND

确定集合

IN, NOT IN

字符匹配

LIKE NOT LIKE 通配符 % ,_

多重运算(逻辑运算)

与AND, 或OR, 非NOT

空值

IS NULL, IS NOT NULL

  • 查询满足条件的元组:可通过WHERE字句实现。WHERE子句常用的常用的查询条件如上表所示。

3)分组统计查询

  • GROUP BY子句将查询结果按某一列或多列的值分组,值相等的为一组。(如未对查询结构分组,聚类函数将作用于整个查询结果,分组后聚集函数将作用于每一个组,即每一组都有一个函数值。)
  • 使用HAVING短语指定筛选条件,对分组按照一定的条件进行筛选,最终只输出满足指定条件的组。(WHERE子句中是不能用聚类函数作为条件表达式的。)

SQL提供的聚集函数主要有:

COUNT ( * )

统计元组个数

COUNT ( [ DISTINCT | ALL ] <列名> )

统计一列中值的个数

SUM ( [ DISTINCT | ALL ] <列名> )

计算一列值的总和(此列必须是数值型)

AVG ( [ DISTINCT | ALL ] <列名> )

计算一列值的平均值(此列必须是数值型)

MAX ( [ DISTINCT | ALL ] <列名> )

求一列值中的最大值

MIN ( [ DISTINCT | ALL ] <列名> )

求一列值的最小值

4)对查询结果排序

  • 用ORDER BY子句对查询结果按照一个或者多个属性列的升序(ASC)或降序(DESC)排列,默认升序。

3、实验内容:

(1)指定列或全部列查询(Select)

①查询商品表(Product)中所有商品的信息;

②检索客户表(Customer)中前5位客户的公司名称、联系人姓名和地址;

③从员工表(Employee)中查询所有员工的部门信息;

④查询将员工表中(Employee)所有员工的工资提高10%后的信息,输出字段为:员工姓名,原工资,提高后工资;

⑤统计员工表(Employee)中的职工数。

(2)按条件查询(Where)

①检索员工表所有姓李和姓章的员工信息;

②检索员工表姓李的名字只有一个汉字的员工信息;

③查询员工表中工资在3400以下的女性员工姓名和工资信息;

④查询员工表中工资在5000到7000之间的员工信息;(Between)

⑤检索销售订单表(Sell_Order)中,员工编号为1、5、7的员工接收订单的信息;(IN)

⑥检索部门表(Department)中主管位置不为空的部门信息;

(3)分组统计查询

①查询员工表中男女员工的平均工资。输出字段性别,平均工资。

②查询销售订单表中各种商品的订货总数,输出字段为商品编号,订货总数。

③查询销售订单表中,订购两种以上商品的客户编号,订购商品种类。

(4)对查询结果排序

①查询员工表中男女员工的平均工资。输出字段性别,平均工资,按照平均工资升序排列。

②查询销售订单表中各种商品的订货总数,输出字段为商品编号,订货总数,按照订货总数降序排列。

标签:查询,DISTINCT,数据库,子句,员工,分组,表中,实验报告
From: https://blog.csdn.net/T3057519360/article/details/140742159

相关文章

  • Redhat 7.9上配置达梦数据库的DM 数据守护(DM Data Watch)
    Redhat7.9上配置达梦数据库的DM数据守护(DMDataWatch)一基础环境端口说明:注:主库已经安装软件,及创建数据库实例。并已开启归档模式。[dmdba@test1tool]$disqlsysdba/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态登录使用时间:6.060(ms)disqlV8SQL>......
  • 【免费领源码】Java/Mysql数据库+SSM校园兼职网站 25557,计算机毕业设计项目推荐上万套
    摘 要当今人类社会已经进入信息全球化和全球信息化、网络化的高速发展阶段。丰富的网络信息已经成为人们工作、生活、学习中不可缺少的一部分。人们正在逐步适应和习惯于网上贸易、网上购物、网上支付、网上服务和网上娱乐等活动,人类的许多社会活动正在向网络化发展。兼职......
  • 【免费领源码】Java/Mysql数据库+springboot驾校预约管理系统 25540,计算机毕业设计项
    摘 要随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于驾校预约管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了驾校预约管理系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种......
  • 将情感分析中的值插入数据库
    我自己创建了一个小项目:用户在网站上输入一些评论,然后使用flask+python我们获取这些文本,在变压器和所有结果的帮助下将其发送到情感分析(文本,标签,分数)插入Postgresql这个项目分为两个主要部分,首先我在数据库中创建了空表:CREATETABLEMessage_sentiment(my......
  • 当我按照 YouTube 教程操作时,为什么我的数据库没有创建?
    按照Flask教程未创建我的数据库:main.py:fromwebsiteimportcreate_appapp=create_app()if__name__=='__main__':app.run(debug=True)__init__.py:fromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyfromosimportpat......
  • Navicat与DBeaver:数据库管理工具界的“蝙蝠侠”与“钢铁侠”
    在数据库的浩瀚宇宙中,Navicat与DBeaver犹如两颗璀璨的星辰,各自以其独特的魅力吸引着数据库管理员和开发者们的目光。它们就像是数据库界的“蝙蝠侠”与“钢铁侠”,一个以炫酷界面和强大功能著称,另一个则以实用性和稳定性闻名。今天,我们就来一场轻松愉快的对比分析,看看这两位“超级......
  • 震惊,刷新我的认知,医疗信息数据库sqlserver中计算年龄的sql函数写了200行...
    创作不易只因热爱!!热衷分享,一起成长!“你的鼓励就是我努力付出的动力”sqlserver中年龄计算,HIS系统中年龄计算函数呈现的结果要求:1周岁内显示"几月几天",1周岁以上显示"几岁"CREATEFUNCTIONdbo.FUN_GETBRNL( @birthvarchar(24),--生日 @now......
  • 7.22-27MY&MS&ORA等SQL数据库提权
    7.22-27MY&MS&ORA等SQL数据库提权思路:在利用系统溢出漏洞无果情况下,可以采用数据库提权;前提:数据库服务开启,且获得数据库最高权限账号密码;除Access数据库外,其他数据库基本都存在提权可能;Mysql提权思路:服务探针-信息收集-提权利用-获取权限;1、读取默认数据库配置文件;(了解其......
  • Greenplum数据库中的集合运算
    这些集合运算在Greenplum数据库中广泛应用于数据处理和分析任务中。通过合理运用并集、交集和减集操作,可以对数据集进行灵活的合并、比较和筛选,满足不同的数据需求。并集(UNION):并集操作用于合并两个或多个数据集,返回一个包含两个数据集中所有唯一值的结果集。在Greenplum数据......
  • Navicat Premium(数据库管理) v17 授权版
    Navicat17全新升级,软件增强了数据库管理和数据分析的功能体验。其中包括模型设计与同步、数据字典、数据分析(dataprofiling)、用户体验、查询优化、BI功能集成MongoDB/Snowflake、专注模式、Redis哨兵模式与平台扩展LinuxARM等。此次升级让用户在数据库的创建、管理、......