国开《数据库基础与应用》第四章 4-4-3:单表查询举例
4-4-3:单表查询举例
单表查询是最简单的查询,因为它只涉及到一个表。
create database 商品库
use 商品库
create table 商品表1(
商品代号 char(8) primary key,
分类名 char(8),
单价 float,
数量 int
)
商品代号 | 分类名 | 单价 | 数量 |
---|---|---|---|
DBX-134 | 电冰箱 | 3456 | 8 |
DSJ-120 | 电视机 | 3865 | 15 |
DSJ-180 | 电视机 | 4073 | 10 |
DSJ-340 | 电视机 | 5726 | 5 |
KTQ-12/td> | 空调器 | 2800 | 12 |
WBL-6 | 微波炉 | 640 | 10 |
XYJ-13 | 洗衣机 | 1468 | 20 |
XYJ-20 | 电视机 | 1873 | 12 |
例1:从商品表1中查询出数量大于10的所有商品记录。
select 商品代号,分类名,单价,数量
from 商品表1
where 数量>10
查询结果如下:
商品代号 | 分类名 | 单价 | 数量 |
---|---|---|---|
DSJ-120 | 电视机 | 3865.0 | 15 |
KTQ-12 | 空调器 | 2800.0 | 12 |
XYJ-13 | 洗衣机 | 1468.0 | 20 |
XYJ-20 | 洗衣机 | 1873.0 | 12 |
可以用“select *”来代替上面select一行内容。
例2:从商品表1中查询出所有商品的不同分类名。
select distinct 分类名 from 商品表1
此语句的执行结果如下:
分类名
电冰箱
电视机
空调器
微波炉
洗衣机
例3:从商品表1中查询出所有商品的最大数量及数量总和。
在查询语句的select选项中,不仅可以使用源表中的列名,而且可以使用相应的列函数。
在SELECT语句中,可使用的列函数有5种:
COUNT(<列名> | *) //用来统计出表中指定列上或所有内容中的行数
MAX(<列名>) //用来求出表中指定列的最大值
MIN(<列名>) //用来求出表中指定列的最小值
AVG(<列名>) //用来求出表中指定列的平均值
SUM(<列名>) //用来求出表中指定列的数值之和
根据此题要求,所使用的查询语句如下:
select max(数量) as 最大数量, sum(数量) as 总和
from 商品表1
查询结果为:
最大数量 | 总和 |
---|---|
20 | 92 |
从显示结果中可以看出,max(数量)值的列名为最大数量,sum(数量)值的列名为总和。
例4:从商品表1中查询出分类名为电视机的每种商品的价值。
select 商品代号,分类名,单价*数量 as 价值
from 商品表1
where 分类名='电视机'
查询结果中包含3条记录:
商品代号 | 分类名 | 价值 |
---|---|---|
DSJ-120 | 电视机 | 57975.0 |
DSJ-180 | 电视机 | 40730.0 |
DSJ-340 | 电视机 | 28630.0 |