• SQL临时笔记和题目


    创建教师表t(t#,tname,title)其中各字段要求分别是
    t# 教师编号 定长字符串,长度为4 主键
    tname 老师姓名 不定长字符串,最大长度8 
    title 标题 不定长字符串,最大长度8
    
    创建课程表c(c#,cname,tno)其中各字段要求分别是
    c# 教师编号 定长字符串,长度为4 主键
    cname 课程名 不定长字符串,最大长度8 
    tno 教师编号 定长字符串,长度为4 外键
    
    创建学生表s(s#,sname,age,sex)其中各字段要求分别是
    s# 学生编号 定长字符串,长度为4 主键
    sname 学生姓名 不定长字符串,最大长度8 
    age 年龄 数值型 范围介于15到30
    sex 性别 位串型 0表示女生1表示男生
    
    创建选课表sc(s#,c#,score)其中各字段要求分别是
    s# 学生编号 外键
    c# 课程编号 外键
    score 成绩 浮点型 长度4,精度1
    s# c# 共同构成主键
    
    create table t(
    	t# char(4) not null,
    	tname varchar(8),
    	title varchar(8),
    	
    	primary key(t#) 
    ); 
    create table c(
    	c# char(4) not null,
    	cname varchar(8),
    	tno char(4),
    	
    	primary key(c#),
    	foreign key(tno) references t(t#)
    );
    create table s(
    	s# char(4) not null,
    	sname varchar(8),
    	age int,
    	sex bit,
    
    	primary key(s#),
    	check(age>=15 and age<=30) 
    );
    create table sc(
    	s# char(4) not null,
    	c# char(4) not null,
    	score decimal(4,1),
    	
    	primary key(s#,c#),
    	foreign key(s#) references s(s#),
    	foreign key(c#) references c(c#)
    	
    );
    
    新增一名老师,教师编号 t001 教师名称 刘老师
    
    新增两名老师 t002 张老师 null t003 王老师 教授
    
    使用可视化新增一门课,c001 c语言 t001
    
    删除t001老师
    
    修改t002老师的职称为讲师
    
    delete from sc;
    delete from s;
    delete from c;
    delete from t;
    
    insert into t values
    ('T1','LIU老师','讲师')
    ,('T2','王老师',null)
    ,('T3','王强老师','教授');
    
    insert into c values
    ('C1','数据库','T1')
    ,('C2','数据结构','T1')
    ,('C3','操作系统','T2')
    ,('C4','机器学习','T3')
    ,('C5','C语言','T2')
    ,('C6','JAVA','T3');
    
    insert into s values
    ('S1','兔八哥',18,1),
    ('S2','何同学',20,1),
    ('S3','DJ同学',17,1),
    ('S4','哲别哥',29,1),
    ('S5','田田圈',16,0),
    ('S6','二四酱',20,0),
    ('S7','虫虫',20,0),
    ('S8','空卡',22,0);
    
    delete from sc;
    insert into sc values
    ('S1','C1',90),
    ('S1','C2',100),
    ('S1','C3',85),
    ('S1','C4',90),
    ('S1','C5',100),
    ('S1','C6',88),
    
    ('S2','C1',99),
    ('S2','C4',98),
    ('S2','C5',99.5),
    
    ('S3','C1',95),
    ('S3','C2',90),
    ('S3','C6',93),
    
    ('S4','C1',98),
    ('S4','C2',99),
    ('S4','C6',59),
    
    ('S6','C3',100),
    
    ('S7','C1',98),
    ('S7','C2',78),
    ('S7','C5',87),
    
    ('S8','C2',89),
    ('S8','C1',96),
    ('S8','C3',97),
    ('S8','C6',58);
    
    1、学习课程号为C2课程的学生学号和成绩
    
    2、查询学习课程C2课程的学生学号和姓名(3种写法)
    
    3、至少选修LIU老师所授课程中一门课程的学生学号和姓名
    
    4、查询选修课程号C2或C4课程的学生学号
    
    5、查询至少选修课程号C2和C4课程的学生学号
    
    6、查询不学C2课的学生姓名和年龄
    
    7、查询学习全部课程的学生姓名
    
    8、查询课程包含学生S3所学课程的学生学号
    
    1、求男学生的总人数和平均年龄
    
    2、查询有职称的老师人数
    
    3、统计选修了课程的学生人数 ①distinct ②嵌套
    
    ————————————————————————————————————————————————————
    4、统计每门课程的学生选修人数,要求显示课程号、课程名、学生人数 as
    
    5、求每个教师每门课程的学生选修人数(超过2人)
    要求显示教师工号、课程号、学生人数。
    显示时,查询结果按人数升序排列,人数相同按教师工号升序,课程号降序
    ————————————————————————————————————————————————————————
    6、查询姓名中第三字是同的同学 【注意】  
    6-1 添加一位老师 T9 “过儿香菜” null
    ————————————————————————————————————————————————
    7、查询有职称的老师 null
    ——————————————————————————————————————————————
    8、查询至少有一门成绩超过学生S2一门成绩的学生学号
    
    9、查询平均成绩最高的的学生学号
    
    10、查询每个老师的授课数
    
    1、给成绩字段按降序创建一个索引index1
    
    2、删除索引index1
    
    3、创建视图v1 (学号 学生姓名 课程名 成绩)【注意】
    
    4、删除视图v1
    4、创建视图v2 (学号,平均分) 
    
    5、查询每个同学比自己平均分高 S#,C#
    
    6、创建视图v3(职工号,姓名)
    
    7、利用视图删除“过儿香菜”老师
    
  • 相关阅读:
    端口扫描技术
    HBase——常用命令
    RabbitMQ——常用命令
    RabbitMQ——基于 KeepAlived + HAProxy 搭建 RabbitMQ 高可用负载均衡集群
    RabbitMQ——安装、集群搭建、镜像队列配置
    Zookeeper——常用命令
    MFC子对话框嵌入主对话框
    Find a way
    Avoid The Lakes
    变形课
  • 原文地址:https://www.cnblogs.com/10134dz/p/16263963.html
Copyright © 2020-2023  润新知