Orcale一些语句解答(1)

xiaoxiao2021-02-28  31

第一题:

(一)表

学号(自动编号) 姓名 性别 年龄¬ 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号课所有学生的姓名。*

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

转载请注明原文地址: https://www.6miu.com/read-1000181.html

最新回复(0)