mysql图书管理系统(27-38)源代码

-- 排序:用order by子句
-- 27、    查询各种图书详细信息,并按价格(降序)排列,若价格相同按ISBN(升序)排列。

 select * from 图书详情 order by 价格,ISBN asc;


-- 28、    将所有”女“读者按住址升序排序。

 select * from 读者 where 性别="女" order by 住址 asc;


-- 29、    列出价格最高的三种图书信息

 select * from 图书详情 order by 价格,ISBN asc limit 3;

--  聚合函数查询可以实现数据集合的汇总或是求平均值等各种运算:
-- 30、    查询图书价格的平均值,平均值显示列标题为“平均价格”。

 select avg(价格) as 平均价格 from 图书详情;


-- 31、    查询读者的人数。

 select count(*) from 读者;


-- 32、    查询读者部门个数(相同的按一种计算)。

select DISTINCT count(部门) from 读者;


-- 33、    查询价格在40以上的图书种类数

 select * from 图书详情 where 价格>40;

-- 分组查询:
-- 34、    分别统计男、女性读者人数。

select count(*) from 读者 where 性别="女" ;
 select count(*) from 读者 where 性别="男" ;


-- 35、    统计各出版社书籍平均价格、总价值,按平均价格降序排列

 select 出版社, avg(价格) as 平均价格, sum(价格) as 总价值 from 图书详情 group by 出版社 order by avg(价格),sum  价格) desc;


-- 36、    求价格在30以上的各出版社的图书平均价格

 select 出版社, avg(价格) as 平均价格 from 图书详情 where 价格>30 group by 出版社 order by avg(价格) desc;

-- 组条件子句:HAVING关键字可以对查询和统计的结果进行进一步的筛选
-- 37、    查询有4种以上价格在30以上图书的出版社及其图书平均价格。

 select 出版社, avg(价格) as 平均价格 from 图书详情 where 价格>30 group by 出版社  limit 4;

-- 将查询结果保存为新表:mysql中用create table 新表名  select语句
-- 38、    求信息工程学院读者的详细信息,并将这些信息另存到数据表“信工读者信息表”中。

create table 信工读者信息表(
    借书证编号 varchar(50) primary key,
    身份证号 varchar(50) unicode not null ,
    姓名 varchar(50) unique not null ,
    性别 char(2) not null ,
    部门 varchar(50) not null ,
    住址 varchar(50) not null ,
    电话 varchar(50) unique,
    电子邮件 varchar(50) unique ,
    读者类别编号 char(2)
);
insert into 信工读者信息表 select * from 读者 where 部门 = '信息工程学院';

你可能感兴趣的:(MySQL数据库,mysql,数据库)