OracleSelect语句练习4
color=FF3366
题⽬:
1.检索出所有成绩为空的学号,课号。
2.查看1998年出⽣的学⽣信息,查询结果以学号升序排列。
3.查询sh_goods表,先按商品分类category_id升序排列,对于相同分类的商品再按商品价格price降序排列
4.检索出sh_goods表中每项keyword对应的商品数量,统计所得商品数量对应的字段名称依据输出样例设置增加字段的sql语句
5.获取sh_goods表中每个分类下商品的最⾼价格。查询结果显⽰字段依据输出样例设置
6.查询sh_goods表中商品库存stock的最⾼和最低值。
8.在sh_goods表中查询不同商品分类(category_id)下商品数量⼤于2的商品的平均价格。查询结果显
⽰字段依据输出样例设置。
9.在sh_goods表中,查询5星好评的商品库存增加850后的值,以及这些商品进⾏75折促销后的价格。查询结果显⽰字段依据输出样例设置。
10.查询sh_goods表中⽤户评分score在前20%的商品名称
11.查询sh_goods表中价格在2000到6000元之间的商品编号、名称和价格,注意此范围包括2000元和6000元的商品。
12.查询sh_goods表中商品分类编号为3,并且⽤户评分为5星的商品信息。
13.查询sh_goods表中⽤户评分为4.5或者价格⼩于10元的商品。
14.获取goods表中商品名称含有“pad”的商品。
15.在Teacherr表中查询出所有教师所在部门编号,并消除重复记录。
16.查询Teacher表中所有教师信息,按教师编号升序排列。
17.查询Student表中出出⽣⽇期最⼤(即年龄最⼩)的学⽣姓名及出⽣⽇期
18.查询Class表中学⽣⼈数⼤于5⼈的班级编号。
19.查询Grade表中课程“Dp010001”的最⾼分。
20.查询Grade表中课程“Dp010004”的学⽣学号和成绩,并按成绩降序排列,成绩相同按学号升序排列。
定义表结构的SQL语句如下:
CREATE TABLE score(
sno varchar(6)NOT NULL,
cno varchar(6)NOT NULL,
term varchar(15),
grade int(11),
PRIMARY KEY(sno,cno)
);
检索出所有成绩为空的学号,课号。
提⽰:请使⽤SELECT语句作答;
select sno,cno from score where grade is null;
定义表结构的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)
);
查看1998年出⽣的学⽣信息,查询结果以学号升序排列。 提⽰:请使⽤SELECT语句作答。
select sno 学号,sname 姓名,pnum ⾝份证号码 from student where extract(year from birth)=1998 order by sno;
CREATE TABLE sh_goods(
id INT PRIMARY KEY,--商品id
category_id INT NOT NULL DEFAULT0,--商品分类id
name VARCHAR(120)NOT NULL,--商品名称
keyword VARCHAR(255)NOT NULL,--关键词编号
content TEXT NOT NULL,--商品详情
price DECIMAL(10,2)NOT NULL DEFAULT0,--价格
stock INT NOT NULL DEFAULT0,--库存
score DECIMAL(3,2)NOT NULL DEFAULT0,--⽤户评分
comment_count INT NOT NULL DEFAULT0--评论数量
);
本题⽬要求编写SQL语句,查询sh_goods表,先按商品分类category_id升序排列,对于相同分类的商品再按商品价格price降序排列
提⽰:请使⽤SELECT语句作答。
select name,catefory_id,price from sh_goods order by category_id,price desc;
本题⽬要求编写SQL语句, 检索出sh_goods表中每项keyword对应的商品数量,统计所得商品数量对应的字段名称依据输出样例设置
提⽰:请使⽤SELECT语句作答。
select keyword,count(*) goodscount from sh_goods group by keyword;
本题⽬要求编写SQL语句, 获取sh_goods表中每个分类下商品的最⾼价格。查询结果显⽰字段依据输出样例设置
提⽰:请使⽤SELECT语句作答。
select category_id,max(price) max_price from sh_goods group by category_id;
本题⽬要求编写SQL语句, 查询sh_goods表中商品库存stock的最⾼和最低值。
select max(stock) stock1,min(stock) sotck2 from sh_goods;
本题⽬要求编写SQL语句,
在sh_goods表中查询不同商品分类(category_id)下商品数量⼤于2的商品的平均价格。查询结果显⽰字段依据输出样例设置。
select category_id,avg(price) average from sh_goods group by category_id having count(*)>2;
本题⽬要求编写SQL语句,
在sh_goods表中,查询5星好评的商品库存增加850后的值,以及这些商品进⾏75折促销后的价格。查询结果显⽰字段依据输出样例设置。
select name,price oid_price,stock old_stock,price*0.75 new_price,stock+850 new_stock from sh_goods where score=5;
本题⽬要求编写SQL语句, 查询sh_goods表中⽤户评分score在前20%的商品名称
select top percent 20 name from sh_goods order by score desc;
本题⽬要求编写SQL语句,
查询sh_goods表中价格在2000到6000元之间的商品编号、名称和价格,注意此范围包括2000元和6000元的商品。
可以看到,⽆论是数字,还是使⽤字符,A BETWEEN B AND C,都等价的是A>=B & A<=C。
selet id,name,price from sh_goods where price between 2000 and 6000;
本题⽬要求编写SQL语句, 查询sh_goods表中商品分类编号为3,并且⽤户评分为5星的商品信息。
select id,name,price from sh_goods where category_id=3 and score=5;
查询sh_goods表中⽤户评分为4.5或者价格⼩于10元的商品。
select name,price,score from sh_goods where score=4.5 or price <10;
CREATE TABLE goods
(
id INT PRIMARY key,--商品id
name VARCHAR(32),--商品名称
price INT,--商品价格
description VARCHAR(255)--商品描述
);
本题⽬要求编写SQL语句, 获取goods表中商品名称含有“pad”的商品。
select id,name,price from goods where name like ‘%pad%’;
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)--系部编号
)
;
本题⽬要求编写SQL语句,在Teacherr表中查询出所有教师所在部门编号,并消除重复记录。
select distinct departmentID from teacher;
本题⽬要求编写SQL语句,查询Teacher表中所有教师信息,按教师编号升序排列。
select * from Teacher order by TeacherID;
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)
);
这是⼀个SQL编程题模板。本题⽬要求编写SQL语句, 查询Student表中出出⽣⽇期最⼤(即年龄最⼩)的学⽣姓名及出⽣⽇期select StudentName,Birth from Student where birth=(select max(Birth) from Student);
Create table Class(
ClassID char(8)primary key,--班级编号
ClassName varchar(20)not null,--班级名称
Monitor char(8),--班长姓名
StudentNum int,--学⽣⼈数
DepartmentID char(4)--系部编号
);
这是⼀个SQL编程题模板。本题⽬要求编写SQL语句,查询Class表中学⽣⼈数⼤于5⼈的班级编号。
select ClassID from Class where StudentNum>5;
Create table Grade(
CourseID char(8),--班级编号
StudentID char(12),--学号
Semester int not null,--学期
SchoolYear int,--学年
Grade numeric(5,1),--成绩
primary key(CourseID,StudentID)
);
这是⼀个SQL编程题模板。本题⽬要求编写SQL语句, 查询Grade表中课程“Dp010001”的最⾼分。
select max(grade) max_grade from grade where CourseID=‘Dp010001’;
查询Grade表中课程“Dp010004”的学⽣学号和成绩,并按成绩降序排列,成绩相同按学号升序排列。
select StudentID,Grade from Grade where CourseID=‘Dp010004’ order by Grade desc,StudentID asc;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。