数据库实验报告

实验名称:           单表查询           

一、实验预习报告

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)对查询结果排序

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

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

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值