查询 xscj 表中的学号,姓名,计算机三项信息,结果按计算机成绩的降序排列。
select 学号,姓名,计算机 from xscj order by 计算机 desc
统计 xsda 表中男女生的人数 select 性别,count(*)
as 人数 from xsda group by 性别
本题目要求编写 SQL 语句,检索出图书表中所有 2018 年以后出版的图书的全部信息。
注意:包括 2018 年的。
要求:请使用 year 函数计算年份。
select *
from 图书
where year(出版日期) >=2018
计算 xsda 表中男女生的平均身高。
select 性别,avg(身高) as 平均身高 from xsda group by 性别
查询 zgda 表中的工号,姓名,性别,职称 4 项信息,显示结果时首先按照女性在前的顺序,如果性别相同则按照职称的升序排列。
select 工号,姓名,性别,职称
from zgda order by 性别 desc ,职称
本题目要求编写 SQL 语句,查询图书表中条形码左边开始三个字符是“TP3”的图书的全部信息 要求:不能用 like 运算符构成条件表达式。
select *
from 图书 where 条形码 like "TP3%"
本题目要求编写 SQL 语句,查询图书表中书名为“C 语言程序设计”和“VB 程序设计”的两本书的全部信息 要求:使用 in 运算符构成条件表达式 提示:请使用 SELECT 语句作答。
select * from 图书 where 书名 in ("C 语言程序设计","VB 程序设计")
题目要求编写 SQL 语句,查询图书表中未录入出版社信息的图书,要求结果中包含条形码,书名,出版社 3 列 提示:请使用 SELECT 语句作答,“未录入”表示该项为空。
select 条形码,书名,出版社
from 图书 where 出版社 is null
本题目要求编写 SQL 语句,查询图书表中不是科学出版社出版的图书的全部信息 提示:请使用 SELECT 语句作答。
SELECT * FROM 图书 WHERE 出版社 NOT IN ("科学出版社")
本题目要求编写 SQL 语句,查询图书表中各出版社图书的数目,结果按图书数目降序排序 提示:请使用 SELECT 语句作答。
select 出版社,count(*) as 图书数目 from 图书 group by 出版社 order by 图书数目 desc
本题目要求编写 SQL 语句,查询图书表中全部图书的最高售价、最低售价和平均售价。
提示:请使用 SELECT 语句作答。
select max(售价) as 最高售价, min(售价) as 最低售价, avg(售价) as 平均售价 from 图书
本题目要求编写 SQL 语句,查询图书表中各出版社图书的数目,要求过滤掉数目为 1 的数据。
提示:请使用 SELECT 语句作答。
select 出版社,count(*) as 图书数目 from 图书 group by 出版社 having(图书数目)>1
本题目要求编写 SQL 语句,查询图书表中 2018 年出版的图书的数目 提示:请使用 year 函数作答。
select count(*) as 2018 年出版的图书数目 from 图书 where
year(出版日期)=2018
本题目要求编写 SQL 语句,查询图书的条形码,书名,出版社和出版日期,要求结果按出版社升序排列,出版社相同的数据按出版日期降序排列 select 条形码,书名,出版社,出版日期 from 图书 order by 出版社,出版日期 desc
本题目要求编写 SQL 语句,查询图书表中有哪些出版社,要求结果没有重复值 提示:请使用 distinct select distinct 出版社 from 图书
本题目要求编写 SQL 语句,通过图书表和借阅表,查询图书的借阅情况,要求结果中包括以下几列:账号,条形码,书名和借书日期 提示:请使用 SELECT 多表查询的方法 select 账号,图书.条形码,书名,借书日期 from 图书 inner join 借阅 on 图书.条形码=借阅.条形码
通过图书表,读者表和借阅表,查询读者的借阅情况,要求结果中包含以下字段:账号,姓名,条形码,书名,借书日期和还书日期。
select 借阅.账号,姓名,图书.条形码,书名,借书日期,还书日期 from 图书 inner join(借阅 inner join 读者 on 借阅.账号=读者.账号) on 图书.条形码=借阅.条形码
通过两个表,查询编号为“D002”的读者借阅图书的信息,要求结果中包括以下字段:账号,姓名,等级,条形码,借书日期。
select 借阅.账号,姓名,等级,条形码,借书日期 from 借阅 inner join 读者 on 借阅.账号=读者.账号 where 借阅.账号="D002"
在读者表中查询全部读者信息,要求女性在前男性在后,同为女(男)性读者的按账号升序排列 SELECT * FROM 读者 order by 性别 desc,账号
在读者表中,查询男女性读者各多少人 select 性别,count(*) as 人数 from 读者 group by 性别
在读者表中查询余额最高的读者的全部信息。
提示:请使用嵌套查询作答,不能用 top select * from 读者 where 余额>=all(select max(余额) from 读者)
在读者表中查询不同等级各自的人数,结果按人数降序排列。
select 等级,count(*) as 人数
from 读者 group by 等级 order by count(*) desc
查询姓王的读者的账号、姓名和性别,要求使用 left 函数 select 账号,姓名,性别 from 读者 where left(姓名,1)="王"
查询图书表中售价最高的图书的全部信息。
提示:这是一个嵌套查询。
select * from 图书 where 售价>=(select max(售价) from 图书 )
查询读者表中有哪些等级,结果中不能出现重复值。
提示:使用 distinct select distinct 等级 from 读者
在读者表中查询所有等级为“白银”的读者的余额之和。
select sum(余额) as 白银读者余额之和 from 读者 where 等级="白银"
在读者表中查询没有录入出生日期的读者的全部数据。
select * from 读者 where 出生日期 is null
通过读者和借阅表,查询读者信息,包括以下字段:账号,姓名,性别,条形码,借书日期和还书日期 select 读者.账号,姓名,性别,条形码,借书日期,还书日期 from 读者 inner join 借阅 on 读者.账号=借阅.账号
根据读者表和借阅表,查询没有借书记录的读者的账号和姓名。
提示:使用“带有 NOT IN 的嵌套查询” select 账号,姓名 from 读者 where 账号 not in (select 账号 from 借阅 where 借阅.账号=读者.账号)
通过图书表和借阅表,查询哪本书没有被借阅过,显示它的条形码,书名和作者信息 提示:使用“带 IN 的嵌套查询” select 条形码,书名,作者 from 图书
where 条形码 not in (select 条形码 from 借阅 where 借阅.条形码=图书.条形码)
本题目要求编写 SQL 语句,在图书表中插入一条记录,内容是:条形码“TP211.3”,书名“狼图腾”,作者“姜戎”,售价 44.5 元 提示:请使用 INSERT 语句作答。
insert into 图书(条形码,书名,作者,售价) values ("TP211.3","狼图腾","姜戎",44.5)
本题目要求编写 SQL 语句,将图书表中科学出版社出版的图书价格上涨 5%。
update 图书 set 售价=售价*1.05 where 出版社="科学出版社"
向订单表中插入一条新记录,订单编号是 10331,顾客编号是 J101,员工编号是 023。
insert into 订单(订单编号,顾客编号,员工编号) values("10331","J101","023")
将订单表中 2015 年以前(包括 2015 年)的订单数据删除。
要求:使用 year 函数。
delete from 订单 where year(订单日期)<=2015
将顾客表中顾客编号最后两位是“10”和“11”的记录删除 delete from 顾客 where right(顾客编号,2)="10" or right(顾客编号,2)="11"
将编号为“10330”的订单的运费下调 10% update 订单 set 运费=运费*0.9 where 订单编号="10330"
在订单表中查询各位员工承办的订单数目。
提示:按员工编号分组。
select 员工编号,count(*) as 订单数 from 订单 group by 员工编号
在订单表中查询各位员工承办的订单数目,要求只显示大于 1 的那些数据 select 员工编号,count(*) as 订单数 from 订单 group by 员工编号 having(订单数)>1
在员工表中查询 1990 年以后(包括 1990 年)出生的员工的全部信息。
要求:必须使用 year 函数。
select * from 员工 where year(出生日期)>=1990
在员工表中查询全体员工的编号,姓名和年龄。
提示:年龄需要计算得到,由于系统语法不同,取当前系统日期的函数不要用 date( ),请使用 curdate( )。
select 员工编号,姓名,year(curdate())-year(出生日期) as 年龄 from 员工
在顾客表中查询公司城市在“济南”的顾客数目 select count(*) as 济南顾客数 from 顾客 where 城市="济南"
在员工表中查询男女职工的平均年龄。
提示:年龄需要计算求出。由于系统语法的不同,此处不能使用 year(date()),请使用year(curdate()) select 性别,avg(year(curdate())-year(出生日期)) as 平均年龄 from 员工
group by 性别
在员工表中查询姓陈的男职工的全部信息。
要求使用字符处理函数作答。
select *
from 员工 where left(姓名,1)="陈" and 性别="男"
在顾客表中查询如下信息,城市和电话这两项有一项为空或者都为空的,就显示这一条记录的全部内容 select * from 顾客 where 城市 is null or 电话 is null
在订单表中查询不是 023 号员工处理的订单的信息,要求包括订单编号,顾客编号,员工编号和订单日期 select 订单编号,顾客编号,员工编号,订单日期 from 订单
where 员工编号 not in ("023")
在顾客表中查询各个城市的顾客数目。
select 城市,count(*) as 顾客数 from 顾客
group by 城市
通过订单表和顾客表,查询订单编号,顾客编号,公司 名称和订单日期 select 订单编号,订单.顾客编号,公司名称,订单日期
from 订单 inner join 顾客 on 订单.顾客编号=顾客.顾客编号
通过订单、顾客和员工三张表,查询订单编号,顾客编号,公司名称,员工编号和员工姓名 select 订单编号,订单.顾客编号,公司名称,订单.员工编号,姓名 from 员工 inner join(订单 inner join 顾客 on 订单.顾客编号=顾客.顾客编号) on 员工.员工编号=订单.员工编号
通过订单、顾客和员工表,查询郭彩霞承办的订单的订单编号,顾客编号,公司名称,员工编号和姓名。
select 订单编号,顾客.顾客编号,公司名称,员工.员工编号,姓名 from 订单,顾客,员工 where 顾客.顾客编号=订单.顾客编号 and 员工.员工编号=订单.员工编号 and 姓名="郭彩霞"
在顾客表中查询出现了那些城市,要求不显示重复值。
提示:使用 distinct select distinct 城市 from 顾客
在员工表中查询入职最晚的员工的编号,姓名和入职日期。
提示:这是一个嵌套查询。
select 员工编号,姓名,入职日期 from 员工
where 入职日期=(select max(入职日期) from 员工)
在员工表中查询每年入职的员工人数,结果按入职年份升序排列 select year(入职日期)年份,count(*) as 入职人数 from 员工
GROUP BY year(入职日期) order by 年份
在员工表中查询没有承办过订单的员工的全部信息。
提示:也就是在员工表中查询哪个员工的编号信息没有出现在订单表中。
select *
from 员工 where 员工编号 not in (select 员工编号 from 订单 where 员工.员工编号=订单.员工编号)