- 查询book表中状态status为0的图书信息,并且只展示name和uploadtime字段的信息。
select name,uploadtime from book where status is null
- 查询record表中,bookisbn号是以” 0662”结尾的记录。
select *from record where bookisbn like '%0662'
- 查询book表中的出版社(注意去掉重复值)。
select press from book GROUP BY press
- 查询record表中,bookisbn号是第5-8位是” 5442”的记录。
select * from record where bookisbn like '____5442%';
- 查询book表中,每个出版社的书的平均价格。
select press,avg(price) from book GROUP BY press
- 查询人民邮电出版社的页码最多的name、press、author。
select name,press,author,pagination from book where press='人民邮电出版社' ORDER BY pagination DESC LIMIT 1
- 查询book表中最早上架的记录
select * from book ORDER BY uploadtime asc limit 1
- 查询book表,价格最低的三本书的name、press、price
select * from book ORDER BY price asc limit 3
- 查询book表中的name和status,如果status是’0’,则输出“未借阅”;如果status是’1’,则输出“已借阅”;如果是’2’,则输出“已下架”(使用case函数)
select name,status,case status
when '0'then'未借阅' when '1'then '已借阅' when '2' then '已下架'end from book
- 查询record表中的bookname、borrower,如果借阅图书超过60天未归还的,在后面输出“黑名单”三个字
(说明:计算两个日期之间间隔的天数,用datediff函数来表示。具体格式:
datediff(截至日期,起始日期)
比如,计算2020-1-1至2020-3-9之间间隔的天数,datediff(‘2020-03-09’,’2020-01-01’)
select bookname,borrower,
if(datediff(remandtime,borrowtime)>60,'黑名单','正常') from record
- 将book表中“武汉出版社”的“武汉”二字替换成“武汉人民”
UPDATE book SET press = REPLACE(press, '武汉出版社', '武汉人民出版社') WHERE press = '武汉出版社’