zoukankan      html  css  js  c++  java
  • ORACLE(系统表student) 基本与深入学习

    (一)、首先我们先创建student表(系统有的可以跳过往下看)没有直接复制运行即可。


    create table student
    (
    sno varchar2(3) not null, --学号
    sname varchar2(20) not null,--学生姓名
    ssex varchar2(10) not null, --性别
    sbirthday date, --生日
    class varchar2(5) --所在班级编号
    tno

    );
    ---------课程表
    create table t_course
    (
    cno varchar2(5) not null,--课程编号
    cname varchar2(50) not null, --课程名
    tno varchar2(10) not null --授课老师编号
    );
    ---------------分数
    create table t_score
    (
    sno varchar2(3) not null, ---学号
    cno varchar2(5) not null, ---课程号
    degree number(10, 1) not null --分数
    );
    ---老师表
    create table t_teacher
    (
    tno varchar2(3) not null, --老师编号
    tname varchar2(20) not null, --老师姓名
    tsex varchar2(10) not null, --老师性别
    tbirthday date not null, --生日
    prof varchar2(20), --职称
    depart varchar2(20) not null --部门
    );

    create table t_grade(
    low number(3,0),--低分
    upp number(3),--高分
    rank char(1)--评级
    );

    insert into student (sno,sname,ssex,sbirthday,class) values (108 ,'曾华'
    ,'男' ,to_date('1977-09-01','yyyy-mm-dd'),95033);
    insert into student (sno,sname,ssex,sbirthday,class) values (105 ,'匡明'
    ,'男' ,to_date('1975-10-02','yyyy-mm-dd'),95031);
    insert into student (sno,sname,ssex,sbirthday,class) values (107 ,'王丽'
    ,'女' ,to_date('1976-01-23','yyyy-mm-dd'),95033);
    insert into student (sno,sname,ssex,sbirthday,class) values (101 ,'李军'
    ,'男' ,to_date('1976-02-20','yyyy-mm-dd'),95033);
    insert into student (sno,sname,ssex,sbirthday,class) values (109 ,'王芳'
    ,'女' ,to_date('1975-02-10','yyyy-mm-dd'),95031);
    insert into student (sno,sname,ssex,sbirthday,class) values (103 ,'陆君'
    ,'男' ,to_date('1974-06-03','yyyy-mm-dd'),95031);

    insert into t_course(cno,cname,tno)values ('3-105' ,'计算机导论',825);
    insert into t_course(cno,cname,tno)values ('3-245' ,'操作系统' ,804);
    insert into t_course(cno,cname,tno)values ('6-166' ,'数据电路' ,856);
    insert into t_course(cno,cname,tno)values ('9-888' ,'高等数学' ,100);

    insert into t_score(sno,cno,degree)values (103,'3-245',86);
    insert into t_score(sno,cno,degree)values (105,'3-245',75);
    insert into t_score(sno,cno,degree)values (109,'3-245',68);
    insert into t_score(sno,cno,degree)values (103,'3-105',92);
    insert into t_score(sno,cno,degree)values (105,'3-105',88);
    insert into t_score(sno,cno,degree)values (109,'3-105',76);
    insert into t_score(sno,cno,degree)values (101,'3-105',64);
    insert into t_score(sno,cno,degree)values (107,'3-105',91);
    insert into t_score(sno,cno,degree)values (108,'3-105',78);
    insert into t_score(sno,cno,degree)values (101,'6-166',85);
    insert into t_score(sno,cno,degree)values (107,'6-106',79);
    insert into t_score(sno,cno,degree)values (108,'6-166',81);

    insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
    values (804,'李诚','男',to_date('1958-12-02','yyyy-mm-dd'),'副教授','计算机系');
    insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
    values (856,'张旭','男',to_date('1969-03-12','yyyy-mm-dd'),'讲师','电子工程系');
    insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
    values (825,'王萍','女',to_date('1972-05-05','yyyy-mm-dd'),'助教','计算机系');
    insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
    values (831,'刘冰','女',to_date('1977-08-14','yyyy-mm-dd'),'助教','电子工程系');


    insert into t_grade values(90,100,'a');
    insert into t_grade values(80,89,'b');
    insert into t_grade values(70,79,'c');
    insert into t_grade values(60,69,'d');
    insert into t_grade values(0,59,'e');
    commit;


    (二)题目学习与实践。(答案小编会在近期更新)

    1、 查询student表中的所有记录的sname、ssex和class列。
    2、 查询教师所有的单位即不重复的depart列。
    3、 查询student表的所有记录。
    4、 查询score表中成绩在60到80之间的所有记录。
    5、 查询score表中成绩为85,86或88的记录。
    6、 查询student表中“95031”班或性别为“女”的同学记录。
    7、 以class降序查询student表的所有记录。
    8、 以cno升序、degree降序查询score表的所有记录。
    9、 查询“95031”班的学生人数。
    10、查询score表中的最高分的学生学号和课程号。
    11、查询‘3-105’号课程的平均分。
    12、查询score表中至少有5名学生选修的并以3开头的课程的平均分数。
    13、查询最低分大于70,最高分小于90的sno列。

    14、查询所有学生的sname、cno和degree列。
    15、查询所有学生的sno、cname和degree列。
    16、查询所有学生的sname、cname和degree列。
    17、查询“95033”班所选课程的平均分。

    18、查询所有同学的sno、cno和rank列。
    19、查询选修“3-105”课程的成绩高于“109”号同学课程最高成绩的所有同学的记录。
    20、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。

    21、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
    22、查询和学号为108的同学同年出生的所有学生的sno、sname和sbirthday列。
    23、查询“张旭“教师任课的学生成绩。
    24、查询选修某课程的同学人数多于5人的教师姓名。
    25、查询95033班和95031班全体学生的记录。
    26、查询存在有85分以上成绩的课程cno.
    27、查询出“计算机系“教师所教课程的成绩表。
    28、查询“计算机系”与“电子工程系“不同职称的教师的tname和prof。
    29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的cno、sno和degree,并按degree从高到低次序排序。
    30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的cno、sno和degree.
    31、查询所有教师和同学的name、sex和birthday.
    32、查询所有“女”教师和“女”同学的name、sex和birthday.
    33、查询成绩比该课程平均成绩低的同学的成绩表。
    34、查询所有任课教师的tname和depart.
    35、查询所有未讲课的教师的tname和depart.
    36、查询至少有2名男生的班号。
    37、查询student表中不姓“王”的同学记录。
    38、查询student表中每个学生的姓名和年龄。
    39、查询student表中最大和最小的sbirthday日期值。
    40、以班号和年龄从大到小的顺序查询student表中的全部记录。
    41、查询“男”教师及其所上的课程。
    42、查询最高分同学的sno、cno和degree列。
    43、查询和“李军”同性别的所有同学的sname.
    44、查询和“李军”同性别并同班的同学sname.
    45、查询所有选修“计算机导论”课程的“男”同学的成绩表
    46、查询出选修课程号为3-245和6-166的课程的学生学号与姓名
    47、查询出没有选修课程号为3-245和6-166的课程的学生学号与姓名

    欢迎关注小编的公众号,更多学习视频、模板、工具(wind激活工具)!!!

  • 相关阅读:
    刚学的 activity 之间的两种(带数据)跳转
    SharePreference 把少量数据写到 文件中
    Android 使用资源
    SQLite 初步测试
    android 操作 sd 卡上的文件
    android 操作文件
    002android 布局(layout)
    Activity_liftCycle — 生命周期
    android 创建、删除 文件和文件夹 测试
    android 实现粗糙的文件浏览器
  • 原文地址:https://www.cnblogs.com/1906396809liufg/p/10935489.html
Copyright © 2011-2022 走看看