本片文章会用到的三个表
create table customers(
c_id int not null auto_increment,
c_name char(50) not null,
c_address char(50) null,
c_city char(50) null,
c_zip char(10) null,
c_contact char(50) null,
c_email char(255) null,
primary key(c_id)
);
create table orderitems(
o_num int not null,
o_item int not null,
f_id char(10) not null,
quantity int not null, //数量
item_price decimal(8,2) not null, //单价
primary key(o_num,o_item)
);
create table fruits(
f_id char(10) not null,
s_id int not null,
f_name char(255) not null,
f_price decimal(8,2) null,
primary key(f_id)
);
一、count函数
- count(*); //没有order by时,返回表中总的行数。有order by时,返回指定字段的函数。空值的行也显示
- count(字段名); //返回指定字段的总行数,空值的行也显示
- 求出customers表中的总行数
- 求出表中c_email字段的行数
- 查询总的o_num行,然后每种o_num对应多少种f_id
二、sum函数
- 功能:返回指定字段的值总和
- sum会忽略值为NULL的行
- 返回o_num为30005的订单一共购买了多少数量的水果
- 先给o_num字段分组,然后求出每种o_num的水果的数量
三、avg函数
- 功能:通过返回的行数和每一行数据的和,求出指定列数据的平均值
- avg函数使用时,其参数为要计算的列名称。如果要得到多个列的多个平均值,则需要在每一列上使用avg函数
- 查询s_id=103的供应商的水果的平均价格
- 查询每一个供应商的水果的价格平均值
四、max函数
- 功能:返回指定列中的最大值
- max不仅适用于查找数值类型,也可用于字符类型
- 在fruits表中查找市场上价格最高的水果值
- 查找不同供应商自己提供的水果中,价格最高的水果
五、min函数
- 功能:返回指定列中的最小值
- max不仅适用于查找数值类型,也可用于字符类型
- 在fruits表中查找市场上价格最低的水果值
- 查找不同供应商自己提供的水果中,价格最低的水果