oracle之sql语言简单查询练习
oracle之sql语言简单查询练习:1、检索出所有成绩为空的学号,课号。 (5 分)2、查看1998年出生的学生信息,查询结果以学号升序排列。 (5 分)3、查询商品表,先按商品分类升序排列,再按商品价格降序排列 (5 分)4、查询商品表中每项关键词对应的商品数量 (5 分)5、获取每个分类下商品的最高价格 (5 分)6、查询商品表中商品库存的最高和最低值 (5 分)7、获取指定条件商品的平均价
oracle之sql语言简单查询练习:
- 1、检索出所有成绩为空的学号,课号。 (5 分)
- 2、查看1998年出生的学生信息,查询结果以学号升序排列。 (5 分)
- 3、查询商品表,先按商品分类升序排列,再按商品价格降序排列 (5 分)
- 4、查询商品表中每项关键词对应的商品数量 (5 分)
- 5、获取每个分类下商品的最高价格 (5 分)
- 6、查询商品表中商品库存的最高和最低值 (5 分)
- 7、获取指定条件商品的平均价格 (5 分)
- 8、商品表查询语句中运算符的使用 (5 分)
- 9、查询商品表中用户评分在前20%的商品名称 (5 分)
- 10、查询商品表中指定价格范围的商品信息 (5 分)
- 11、商品表中判断字段是否为NULL (5 分)
- 12、获取商品表中商品名称含有“pad”的商品 (5 分)
- 13、查询商品表中指定条件的商品信息(逻辑与) (5 分)
- 14、查询商品表中指定条件的商品信息(逻辑或) (5 分)
- 15、在教师表中查询出所有教师所在部门编号,并消除重复记录。 (5 分)
- 16、查询所有教师信息,按教师编号升序排列 (5 分)
- 17、查询出出生日期最大(即年龄最小)的学生姓名及出生日期。 (5 分)
- 18、查询学生人数大于5人的班级编号 (5 分)
- 19、查询课程“Dp010001”的最高分 (5 分)
- 20、查询课程“Dp010004”的学生学号和成绩,并按成绩降序排列,成绩相同按学号升序排列 (5 分)
1、检索出所有成绩为空的学号,课号。 (5 分)
题干:
检索出所有成绩为空的学号,课号。
提示:请使用SELECT语句作答。
表结构:
定义表结构的SQL语句如下:
CREATE TABLE score (
sno varchar(6) NOT NULL,
cno varchar(6) NOT NULL,
term varchar(15),
grade int(11),
PRIMARY KEY (sno,cno)
) ;
表样例:
上述表结构对应的表样,部分数据如下:
score表:
输出样例:
答案:
select sno,cno from score where grade is null;
2、查看1998年出生的学生信息,查询结果以学号升序排列。 (5 分)
题干:
查看1998年出生的学生信息,查询结果以学号升序排列。
提示:请使用SELECT语句作答。
表结构:
定义表结构的SQL语句如下:
CREATE TABLE student (
sno varchar(6) NOT NULL ,
sname varchar(10) ,
sex char(2) ,
nation char(2) ,
pnum char(18) ,
birth date ,
phone char(11) ,
dept varchar(20) ,
PRIMARY KEY (sno)
) ;
表样例:
上述表结构对应的表样例:
student表:
输出样例:
答案:
select sno 学号,sname 姓名,pnum 身份证号码 from student where extract(year from birth)=1998 order by sno;
3、查询商品表,先按商品分类升序排列,再按商品价格降序排列 (5 分)
题干:
本题目要求编写SQL语句,查询sh_goods表,先按商品分类category_id升序排列,对于相同分类的商品再按商品价格price降序排列 。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select name,category_id,price from sh_goods order by category_id,price desc;
4、查询商品表中每项关键词对应的商品数量 (5 分)
题干:
本题目要求编写SQL语句, 检索出sh_goods表中每项keyword对应的商品数量,统计所得商品数量对应的字段名称依据输出样例设置。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select keyword,count(*) goodscount from sh_goods group by keyword;
5、获取每个分类下商品的最高价格 (5 分)
题干:
本题目要求编写SQL语句, 获取sh_goods表中每个分类下商品的最高价格。查询结果显示字段依据输出样例设置。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select category_id,max(price) max_price from sh_goods group by category_id;
6、查询商品表中商品库存的最高和最低值 (5 分)
题干:
本题目要求编写SQL语句, 查询sh_goods表中商品库存stock的最高和最低值。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select max(stock) stock1,min(stock) stock2 from sh_goods;
7、获取指定条件商品的平均价格 (5 分)
题干:
本题目要求编写SQL语句, 在sh_goods表中查询不同商品分类(category_id)下商品数量大于2的商品的平均价格。查询结果显示字段依据输出样例设置。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select category_id,avg(price) average from sh_goods group by category_id having count(*)>2;
8、商品表查询语句中运算符的使用 (5 分)
题干:
本题目要求编写SQL语句, 在sh_goods表中,查询5星好评的商品库存增加850后的值,以及这些商品进行75折促销后的价格。查询结果显示字段依据输出样例设置。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select name,price old_price,stock old_stock,price*0.75 new_price,stock+850 new_stock from sh_goods where score>=5;
9、查询商品表中用户评分在前20%的商品名称 (5 分)
题干:
本题目要求编写SQL语句, 查询sh_goods表中用户评分score在前20%的商品名称
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select top 2 name from sh_goods order by score desc;
注意:
top是对sql而言的,top 2 表示取前两条结果。
rownum是对oracle而言的
10、查询商品表中指定价格范围的商品信息 (5 分)
题干:
本题目要求编写SQL语句, 查询sh_goods表中价格在2000到6000元之间的商品编号、名称和价格,注意此范围包括2000元和6000元的商品。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select id,name,price from sh_goods where price between 2000 and 6000;
11、商品表中判断字段是否为NULL (5 分)
题干:
本题目要求编写SQL语句, 查询goods表中价格为NULL的商品信息。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE goods
(
id INT PRIMARY key, --商品id
name VARCHAR(32), --商品名称
price INT , --商品价格
description VARCHAR(255) -- 商品描述
);
表样例:
goods表:
输出样例:
答案:
select id,name,price from goods where price is null;
12、获取商品表中商品名称含有“pad”的商品 (5 分)
题干:
本题目要求编写SQL语句, 获取goods表中商品名称含有“pad”的商品。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE goods
(
id INT PRIMARY key, --商品id
name VARCHAR(32), --商品名称
price INT , --商品价格
description VARCHAR(255) -- 商品描述
);
表样例:
goods表:
输出样例:
答案:
select id,name,price from goods where name like '%pad%';
13、查询商品表中指定条件的商品信息(逻辑与) (5 分)
题干:
本题目要求编写SQL语句, 查询sh_goods表中商品分类编号为3,并且用户评分为5星的商品信息。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select id,name,price from sh_goods where category_id=3 and score=5;
14、查询商品表中指定条件的商品信息(逻辑或) (5 分)
题干:
本题目要求编写SQL语句, 查询sh_goods表中用户评分为4.5或者价格小于10元的商品。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE sh_goods (
id INT PRIMARY KEY, --商品id
category_id INT NOT NULL DEFAULT 0 , -- 商品分类id
name VARCHAR(120) NOT NULL, --商品名称
keyword VARCHAR(255) NOT NULL, -- 关键词编号
content TEXT NOT NULL , --商品详情
price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格
stock INT NOT NULL DEFAULT 0, -- 库存
score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分
comment_count INT NOT NULL DEFAULT 0 -- 评论数量
) ;
表样例:
sh_goods表:
输出样例:
答案:
select name,price,score from sh_goods where score=4.5 or price<10;
15、在教师表中查询出所有教师所在部门编号,并消除重复记录。 (5 分)
题干:
本题目要求编写SQL语句,在Teacherr表中查询出所有教师所在部门编号,并消除重复记录。
提示:请使用SELECT语句作答。
表结构:
Create table Teacher(
TeacherID char(8) primary key, --教师编号
Teachername char(12) not null, --教师姓名
Sex char(2) not null check(sex in('男','女')), --教师性别
Brith datetime , --出生日期
Profession char(8) check(profession in('教授','副教授','讲师','助教')), --职称
Telephone varchar(20), --联系电话
HomeAddr varchar(50), --家庭地址
DepartmentID char(4) --系部编号
);
表样例:
Teacher表:
输出样例:
答案:
select distinct DepartmentID from Teacher;
16、查询所有教师信息,按教师编号升序排列 (5 分)
题干:
本题目要求编写SQL语句,查询Teacher表中所有教师信息,按教师编号升序排列。
提示:请使用SELECT语句作答。
表结构:
Create table Teacher(
TeacherID char(8) primary key, --教师编号
Teachername char(12) not null, --教师姓名
Sex char(2) not null check(sex in('男','女')), --教师性别
Brith datetime , --出生日期
Profession char(8) check(profession in('教授','副教授','讲师','助教')), --职称
Telephone varchar(20), --联系电话
HomeAddr varchar(50), --家庭地址
DepartmentID char(4) --系部编号
);
表样例:
Teacher表:
输出样例:
答案:
select * from Teacher order by TeacherID;
17、查询出出生日期最大(即年龄最小)的学生姓名及出生日期。 (5 分)
题干:
这是一个SQL编程题模板。本题目要求编写SQL语句, 查询Student表中出出生日期最大(即年龄最小)的学生姓名及出生日期。。
提示:请使用SELECT语句作答。
表结构:
Create table Student(
StudentID char(12) primary key,
StudentName char(8) not null,
Sex char(2) not null ,
Birth datetime not null,
HomeAddr varchar(80),
EntranceTime datetime default getdate(),
ClassID char(8)
);
表样例:
Student表:
输出样例:
答案:
select StudentName,Birth from Student where Birth>=all(select Birth from Student);
18、查询学生人数大于5人的班级编号 (5 分)
题干:
这是一个SQL编程题模板。本题目要求编写SQL语句,查询Class表中学生人数大于5人的班级编号。
提示:请使用SELECT语句作答。
表结构:
Create table Class(
ClassID char(8) primary key, --班级编号
ClassName varchar(20) not null, --班级名称
Monitor char(8), --班长姓名
StudentNum int , -- 学生人数
DepartmentID char(4) -- 系部编号
);
表样例:
Class表:
输出样例:
答案:
select ClassID from Class where StudentNum>5;
19、查询课程“Dp010001”的最高分 (5 分)
题干:
这是一个SQL编程题模板。本题目要求编写SQL语句, 查询Grade表中课程“Dp010001”的最高分。
提示:请使用SELECT语句作答。
表结构:
Create table Grade(
CourseID char(8) , --班级编号
StudentID char(12) , --学号
Semester int not null, --学期
SchoolYear int , --学年
Grade numeric(5,1), --成绩
primary key(CourseID,StudentID)
);
表样例:
Grade表:
输出样例:
答案:
select max(Grade) max_grade from Grade where CourseID='Dp010001';
20、查询课程“Dp010004”的学生学号和成绩,并按成绩降序排列,成绩相同按学号升序排列 (5 分)
题干:
这是一个SQL编程题模板。本题目要求编写SQL语句, 查询Grade表中课程“Dp010004”的学生学号和成绩,并按成绩降序排列,成绩相同按学号升序排列。
提示:请使用SELECT语句作答。
表结构:
Create table Grade(
CourseID char(8) , --班级编号
StudentID char(12) , --学号
Semester int not null, --学期
SchoolYear int , --学年
Grade numeric(5,1), --成绩
primary key(CourseID,StudentID)
);
表样例:
Grade表:
输出样例:
答案:
select StudentID,Grade from Grade where CourseID='Dp010004' order by Grade desc,StudentID;
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)