Orcale一些语句解答(1)

第一题:

(一)表

学号(自动编号) 姓名 性别 年龄¬
0001 xw 男 18¬
0002 mc 女 16¬
0003 ww 男 21¬
0004 xw 男 18¬
请写出实现如下功能的SQL语句:
删除除了学号(自动编号)字段以外,其它字段都相同的冗余记录

-- 创建表
create table student(
  stuno number(10),---姓名
  strname varchar2(50),---名字
  gender varchar2(5),---性别
  age number(4)—年龄
)
-- 序列
create sequence stu_strno1
start with 0002 increment by 1 
-- 添加数据
insert into student values( 0001,'xw','男',18);
insert into student values( 4,'xw','男',18);
0insert into student values( stu_strno1.nextval,'mc','女',16);
insert into student values( stu_strno1.nextval,'ww','男',21);
insert into student values( stu_strno1.nextval,'xw','男',18);

(二)问题和解答
删除除了学号(自动编号)字段以外,其它字段都相同的冗余记录

这里写图片描述
这里写图片描述

第二题:

(一)表
数据库有3个表 teacher表 student1表 teacher_studen关系表
teacher表 teaID name age
student1 stuID name age
teacher_student1表 teaID stuID

要求用一条sql查询出这样的结果:
1. 显示的字段要有老师id age 每个老师所带的学生人数
2. 只列出老师age为40以下 学生age为8以上的记录。

create table student1(
  stuID number(10),
  name varchar2(50),
  age number(4)
)
create table teacher(
  teaID number(10),
  name varchar2(50),
  age number(4)
)
create table teacher_student1(
  teaID number(10),
  stuID number(10)
)
drop table teacher_student1
create sequence stu_strno2
start with 0002 increment by 1 
delete from teacher
insert into teacher values(1,'张',56);
insert into teacher values(2,'李',30);
insert into student1 values(stu_strno2.nextval,'小明',5);
insert into student1 values(stu_strno2.nextval,'小红',8);
insert into student1 values(stu_strno2.nextval,'小七',11);
insert into student1 values(stu_strno2.nextval,'小八',7);
insert into student1 values(stu_strno2.nextval,'小九',6);
insert into student1 values(stu_strno2.nextval,'小十',9);
insert into student1 values(1,'小Yi',7);
insert into student1 values(2,'小er',6);
insert into student1 values(3,'小san',9);
insert into teacher_student1 values(1,1);
insert into teacher_student1 values(1,2);
insert into teacher_student1 values(1,5);
insert into teacher_student1 values(2,3);
insert into teacher_student1 values(2,4);
insert into teacher_student1 values(2,6);
insert into teacher_student1 values(2,7);

(二)问题一与解答
1. 显示的字段要有老师id age 每个老师所带的学生人数
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
(三)问题二与解答
2. 只列出老师age为40以下 学生age为8以上的记录。
这里写图片描述

第三题:

(一)表

sql面试题一条语句查询每个部门共有多少人¬
前提:a 部门表 b 员工表 ¬
a表字段( ¬
id –部门编号 ¬
departmentName-部门名称 ¬
) ¬
b表字段( ¬
id–部门编号 ¬
employee- 员工名称 ¬
) ¬
问题: 如何一条sql语句查询出每个部门共有多少人¬

create table a(
  id number(10), -- 部门编号
  departmentName varchar2(50)
)
create table b(
  id number(10), --部门编号
  employee varchar2(50)
)
insert into a values(1,'开发');
insert into a values(2,'美工');
insert into b values(1,'小一');
insert into b values(2,'小二');
insert into b values(1,'小三');
insert into b values(2,'小四');
insert into b values(2,'小五');
insert into b values(2,'小六');
insert into b values(2,'小七');

这里写图片描述
这里写图片描述
(二)问题与解答
如何一条sql语句查询出每个部门共有多少人¬
这里写图片描述

第四题:

(一)表
有3张表,Student表、SC表和Course表 ¬
Student表:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)和系名(Sdept) ¬
Course表:课程号(Con)、课程名(Cname)和学分(Ccredit); ¬
SC1表:学号(Sno)、课程号(Con)和成绩(Grade) ¬
请使用SQL语句查询学生姓名及其课程总学分 ¬
(注:如果课程不及格,那么此课程学分为0)¬

create table Student(
  Sno number(10),
  Sname varchar2(20),
  Ssex varchar2(5),
  Sage number(10),
  Sdept number(10)
)
create table Course(
  Con number(2),
  Cname varchar2(10),
  Ccredit number(10)
)
create table SC(
  Sno number(10),
  Con number(2),
  Grage number(5,2)
)
insert into student values(1001,'小一','女',18,21);
insert into student values(1002,'小二','女',18,22);
insert into student values(1003,'小三','女',18,23);
insert into student values(1004,'小四','女',18,22);
insert into student values(1005,'小五','女',18,23);
insert into student values(1006,'小六','女',18,22);

insert into sc values(1001,8,98);
insert into sc values(1001,10,67);
insert into sc values(1002,8,88);
insert into sc values(1002,10,87);
insert into sc values(1003,8,58);
insert into sc values(1003,10,97);
insert into sc values(1004,8,45);
insert into sc values(1004,10,75);
insert into sc values(1005,8,78);
insert into sc values(1005,10,27);
insert into sc values(1006,8,78);
insert into sc values(1006,10,36);

insert into course values(8,'英语',2);
insert into course values(10,'数学',3);

这里写图片描述
这里写图片描述
这里写图片描述

(二)问题与解答
这里写图片描述
这里写图片描述
这里写图片描述

第五题:

(一)表
有3个表S,C,SC
S(SNO,SNAME)代表(学号,姓名)
C(CON,CNAME,CTEACHER)代表(课号,课名,教师)
SC1(SNO,CNO,SCGRADE)代表(学号,课号成绩)

create table S(
  Sno number(10),
  Sname varchar2(20)
)
create table C(
  Con number(2),
  Cname varchar2(10),
  Cteacher varchar2(10)
)
create table SC1(
  Sno number(10),
  Cno number(2),
  SCgrade number(5,2)
)
insert into S values(1001,'小一');
insert into S values(1002,'小二');
insert into S values(1003,'小三');
insert into S values(1004,'小四');
insert into S values(1005,'小五');
insert into S values(1006,'小六');
insert into S values(1007,'小七');
insert into S values(1008,'小八');
insert into S values(1009,'小九');
insert into S values(1010,'小十');
insert into S values(1011,'小十一');
insert into S values(1012,'小十二');
insert into S values(1013,'小十三');

insert into sc1 values(1001,8,98);
insert into sc1 values(1001,10,67);
insert into sc1 values(1001,17,37);
insert into sc1 values(1002,8,88);
insert into sc1 values(1002,10,87);
insert into sc1 values(1002,17,99);
insert into sc1 values(1003,8,58);
insert into sc1 values(1003,10,97);
insert into sc1 values(1003,17,49);
insert into sc1 values(1004,8,45);
insert into sc1 values(1004,10,75);
insert into sc1 values(1004,17,66);
insert into sc1 values(1005,8,78);
insert into sc1 values(1005,10,27);
insert into sc1 values(1005,17,68);
insert into sc1 values(1006,8,78);
insert into sc1 values(1006,10,36);
insert into sc1 values(1006,17,85);
insert into sc1 values(1007,8,78);
insert into sc1 values(1007,10,36);
insert into sc1 values(1008,17,85);
insert into sc1 values(1008,8,78);
insert into sc1 values(1009,10,36);
insert into sc1 values(1010,17,85);
insert into sc1 values(1011,8,78);
insert into sc1 values(1012,10,36);
insert into sc1 values(1013,17,85);
delete from sc1 where sc1.sno>=107;

insert into C values(8,'英语','李梅');
insert into C values(10,'数学','袁芳');
insert into C values(17,'语文','黎明');

这里写图片描述
这里写图片描述
这里写图片描述
(二)问题一与解答
1, 找出没选过“黎明”老师的所有学生姓名。
这里写图片描述
这里写图片描述
(三)问题二与解答
2, 列出2门以上(含2门)不及格学生姓名及平均成绩。
这里写图片描述
这里写图片描述
(四)问题三与解答
* 3, 即学过8号课程又学过17号课所有学生的姓名。*
这里写图片描述

(五)后续会继续补充,敬请期待

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值