目录
10-1 查询图
10–2 查询2018年以后出版的图书的全部信息
10-3 查询图书表中售价介于50元到70元之间的图书的全部信息
10-4 查询图书表中条形码左边开始三个字符是“TP3”的图书的全部信息
10-5 查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息 之一
10-6 查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息 之二
10-7 查询图书表中不是科学出版社出版的图书的全部信息
10-8 查询图书的条形码,书名,出版社和出版日期,要求结果按出版社升序排列,出版社相同的数据按出版日期降序排列
10-9 查询图书表中有哪些出版社,要求结果没有重复值
10-10 通过图书表和借阅表,查询图书的借阅情况,要求结果中包括以下几列:账号,条形码,书名和借书日期
10-11 将图书表中条形码为TP303.5的图书书名修改为“大学计算机”
10-12 将图书表中条形码为TP204.2的图书信息删除
10-13 通过三个表,查询读者借阅图书的信息
10-14 通过两个表,查询编号为“D002”的读者借阅图书的信息
10-15 查询读者表中男女读者各自的人数
10-16 在读者表中查询余额最高的读者的全部信息
10-17 在读者表中查询不同等级各自的人数,结果按人数降序排列
10-18 在读者表中查询账号和姓名
10-19 在读者表查询账号D002和D003两位读者的全部信息
10-20 在读者表中查询余额在500元以下(不包括500元)的女性读者的全部信息
10-21 查询姓王的读者的账号、姓名和性别,要求使用left函数
10-22 查询读者表中余额介于500到1000(包括500,不包括1000)之间的读者的全部信息
10-23 查询读者表中有哪些等级,结果中不能出现重复值
10-24 在读者表中查询没有录入出生日期的读者的全部数据
10-25 通过读者和借阅表,查询读者信息,包括以下字段:账号,姓名,性别,条形码,借书日期和还书日期
10-26 根据读者表和借阅表,查询没有借书记录的读者的账号和姓名
10-1 查询图
本题目要求编写SQL语句,检索出图书
表中所有记录。
提示:请使用SELECT语句作答。
表样例
“`图书“表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
输出样例:
请在这里给出输出样例。例如:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
select *
from 图书
10–2 查询2018年以后出版的图书的全部信息
分数 3
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,检索出图书
表中所有2018年以后出版的图书的全部信息。
注意:包括2018年的。
要求:请使用year函数计算年份。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP305.3 | C语言程序设计 | 郝建伟 | 机械工业出版社 | 2019-11-8 | 49 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP305.3 | Python3程序设计 | 郝建伟 | 机械工业出版社 | 2019-6-16 | 49 |
select *
from 图书
where year(出版日期)>=2018
10-3 查询图书表中售价介于50元到70元之间的图书的全部信息
分数 3
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,检索出图书
表中所有售价介于50元到70元之间的记录。(包括50元和70元)
提示:请使用SELECT语句作答。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP305.3 | C语言程序设计 | 郝建伟 | 机械工业出版社 | 2019-11-8 | 50 |
TP305.4 | VB程序设计 | 谭森 | 机械工业出版社 | 2015-9-18 | 56 |
TP215.4 | 动漫设计 | 张朝阳 | 高教出版社 | 2017-9-5 | 70 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP305.3 | C语言程序设计 | 郝建伟 | 机械工业出版社 | 2019-11-8 | 50 |
TP305.4 | VB程序设计 | 谭森 | 机械工业出版社 | 2015-9-18 | 56 |
TP215.4 | 动漫设计 | 张朝阳 | 高教出版社 | 2017-9-5 | 70 |
select *
from 图书
where 售价>=50 and 售价
10-4 查询图书表中条形码左边开始三个字符是“TP3”的图书的全部信息
分数 3
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书表中条形码左边开始三个字符是“TP3”的图书的全部信息
要求:不能用like运算符构成条件表达式。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.5 | 钩针编织基础 | 寿玉梅 | 化学工业出版社 | 2015-9-18 | 56 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 38.5 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
select *
from 图书
where 条形码 like 'TP3%'; -- 不能使用like
10-5 查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息 之一
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息
要求:使用 or 构成条件表达式
提示:请使用SELECT语句作答。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
select *
from 图书
where 书名 like 'C语言程序设计' or
书名 like 'VB程序设计'
10-6 查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息 之二
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书表中书名为“C语言程序设计”和“VB程序设计”的两本书的全部信息
要求:使用 in 运算符构成条件表达式
提示:请使用SELECT语句作答。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
select *
from 图书
where 书名 in ('C语言程序设计','VB程序设计');
10-7 查询图书表中不是科学出版社出版的图书的全部信息
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书表中不是科学出版社出版的图书的全部信息
提示:请使用SELECT语句作答。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
输出样例:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
select *
from 图书
where 出版社 not in ('科学出版社');
10-8 查询图书的条形码,书名,出版社和出版日期,要求结果按出版社升序排列,出版社相同的数据按出版日期降序排列
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书的条形码,书名,出版社和出版日期,要求结果按出版社升序排列,出版社相同的数据按出版日期降序排列
提示:请使用SELECT语句作答。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
输出样例:
条形码 | 书名 | 出版社 | 出版日期 |
---|---|---|---|
TP304.1 | 数据库技术及应用 | 高教出版社 | 2017-6-16 |
TP305.5 | C语言程序设计 | 高教出版社 | 2014-1-12 |
TP213.5 | 七彩课堂 | 河北教育出版社 | 2019-11-8 |
TP303.5 | 大学计算机基础 | 科学出版社 | 2018-10-7 |
TP204.2 | 钩针编织基础 | 科学出版社 | 2015-9-18 |
TP305.6 | VB程序设计 | 人民邮电出版社 | 2014-7-11 |
select 条形码,书名,出版社,出版日期
from 图书
order by 出版社 asc,出版日期 desc;
10-9 查询图书表中有哪些出版社,要求结果没有重复值
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,查询图书表中有哪些出版社,要求结果没有重复值
提示:请使用distinct。
表结构:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
输出样例:
出版社 | |
---|---|
高教出版社 | |
科学出版社 | |
河北教育出版社 | |
人民邮电出版社 |
select distinct 出版社
from 图书
10-10 通过图书表和借阅表,查询图书的借阅情况,要求结果中包括以下几列:账号,条形码,书名和借书日期
分数 4
作者 刘冬霞
单位 山东理工大学
本题目要求编写SQL语句,通过图书表和借阅表,查询图书的借阅情况,要求结果中包括以下几列:账号,条形码,书名和借书日期
提示:请使用SELECT多表查询的方法。
表结构:
请在这里写定义表结构的SQL语句。例如:
图书(条形码 文本型,书名 文本型,作者 文本型,出版社 文本型,出版日期 日期型,售价 数字型)
借阅(账号 文本型,条形码 文本型,借书日期 日期型,还书日期 日期型)
表样例
图书
表:
条形码 | 书名 | 作者 | 出版社 | 出版日期 | 售价 |
---|---|---|---|---|---|
TP303.5 | 大学计算机基础 | 李凯 | 科学出版社 | 2018-10-7 | 50 |
TP304.1 | 数据库技术及应用 | 郭栋阳 | 高教出版社 | 2017-6-16 | 42.6 |
TP213.5 | 七彩课堂 | 朱五书 | 河北教育出版社 | 2019-11-8 | 31.8 |
TP204.2 | 钩针编织基础 | 寿玉梅 | 科学出版社 | 2015-9-18 | 56 |
TP305.5 | C语言程序设计 | 谭森 | 高教出版社 | 2014-1-12 | 48.5 |
TP305.6 | VB程序设计 | 钟鸣 | 人民邮电出版社 | 2014-7-11 | 44.6 |
借阅
表:
账号 | 条形码 | 借书日期 | 还书日期 |
---|---|---|---|
D001 | TP303.5 | 2018-11-2 | 2018-12-7 |
D001 | TP304.1 | 2017-7-18 | 2017-8-16 |
D005 | TP303.5 | 2019-10-3 | 2019-12-8 |
D002 | TP204.2 | 2015-10-6 | 2015-12-18 |
D002 | TP305.5 | 2014-12-4 | 2015-1-12 |
D003 | TP305.6 | 2014-9-1 | 2014-12-11 |
D003 | TP304.1 | 2020-1-2 | 2020-3-11 |
输出样例:
账号 | 条形码 | 书名 | 借书日期 |
---|---|---|---|
D001 | TP303.5 | 大学计算机基础 | 2018-11-2 |
D001 | TP304.1 | 数据库技术及应用 | 2017-7-18 |
D005 | TP303.5 | 大学计算机基础 | 2019-10-3 |
D002 | TP204.2 | 钩针编织基础 | 2015-10-6 |
D002 | TP305.5 | C语言程序设计 | 2014-12-4 |
D003 | TP305.6 | VB程序设计 | 2014-9-1 |
D003 | TP304.1 | 数据库技术及应用 | 2020-1-2 |
select 借阅.账号,借阅.条形码,图书.书名,借阅.借书日期
from 图书 join 借阅 on 图书.条形码 = 借阅.条形码
10-11 将图书表中条形码为TP303.5的图书书名修改为“大学计算机”
update 图书
set 书名 ='大学计算机'
where 条形码 = 'TP303.5'
-- 注意修改语句的操作
10-12 将图书表中条形码为TP204.2的图书信息删除
delete
from 图书
where 条形码='TP204.2';
-- 注意删除语句的操作
10-13 通过三个表,查询读者借阅图书的信息
select 读者.账号,读者.姓名,借阅.条形码,图书.书名,借阅.借书日期,借阅.还书日期
from 借阅
join 读者 on 读者.账号=借阅.账号
join 图书 on 图书.条形码=借阅.条形码;
-- 注意三个表连接的操作
10-14 通过两个表,查询编号为“D002”的读者借阅图书的信息
select 借阅.账号,读者.姓名,读者.等级,借阅.条形码,借阅.借书日期
from 借阅 join 读者 on 借阅.账号=读者.账号
where 读者.账号='D002'
10-15 查询读者表中男女读者各自的人数
select 性别,count(*)as 人数
from 读者
group by 性别
10-16 在读者表中查询余额最高的读者的全部信息
select *
from 读者
where 余额>=all
(select max(余额)
from 读者
)
-- 掌握嵌套查询
10-17 在读者表中查询不同等级各自的人数,结果按人数降序排列
select 等级,count(*)as 人数 -- 我的错误:忘写等级了
from 读者
group by 等级
order by 人数 desc
10-18 在读者表中查询账号和姓名
select 账号,姓名
from 读者
10-19 在读者表查询账号D002和D003两位读者的全部信息
select *
from 读者
where 账号 in('D002','D003')
order by 账号 asc ;
10-20 在读者表中查询余额在500元以下(不包括500元)的女性读者的全部信息
select *
from 读者
where 余额
10-21 查询姓王的读者的账号、姓名和性别,要求使用left函数
select 账号,姓名,性别
from 读者
where left(姓名,1)='王';
-- where 姓名 like '王%';
10-22 查询读者表中余额介于500到1000(包括500,不包括1000)之间的读者的全部信息
select *
from 读者
where 余额>=500 and 余额
10-23 查询读者表中有哪些等级,结果中不能出现重复值
select distinct 等级
from 读者
10-24 在读者表中查询没有录入出生日期的读者的全部数据
select *
from 读者
where 出生日期 is null
-- where 出生日期 is not NULL
-- where 出生日期 !=''
-- 错误 查询的是没有录入,注意读题
10-25 通过读者和借阅表,查询读者信息,包括以下字段:账号,姓名,性别,条形码,借书日期和还书日期
select 读者.账号,读者.姓名,读者.性别,借阅.条形码,借阅.借书日期,借阅.还书日期
from 读者 join 借阅 on 读者.账号 = 借阅.账号
10-26 根据读者表和借阅表,查询没有借书记录的读者的账号和姓名
select 账号,姓名
from 读者
where 账号 not in
(select 账号
from 借阅
where 借阅.账号=读者.账号)
总结
1、基础:sql的语句不区分大小写,但是标点符号切记要英文的,不能写中午的标点符号!!!pta上提交sql语句的末尾写不写英文分号都可以通过,注意写sql语句的注释是 “– ” ,后面有个空格哦~~
2、基础查询语句,select(后接查询值)、from(后接查询表)、where(后接条件);
3、查询结果去重用 distinct ;
4、查询结果限制返回行数用 limit (来限制查询结果的返回行数);
5、查询后的列重新命名用 as,某一列某一值重命名用 update ;
6、查询后排序用 order by ,order by 列名 按照’列名‘进行排序,asc/desc 升序/降序,根据要求使用(不写默认是asc 升序);
7、查询排除用 != 或者 not in;
8、查找最高值用 max ;
祝学业进步,万事如意!!!
我们下个文章见~~~