# Orcale一些语句解答(1)

xiaoxiao2021-02-28  13

## 第一题:

(一)表

-- 创建表 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

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);

(二)问题与解答