创建学生表:

create table 学生(学号char (1) not null,

姓名varchar (6),

年龄int ,check (年龄between 0 and 100),

性别char (2),

系varchar (10),

primary key (学号));

创建课程表:

create table 课程(课程号 char (2)not null,

课程名 varchar (10),

先修学科 int not null,

学分 int , check (学分between 0 and 100),

primary key (课程号));

创建选课表:

create table 选课(学号 char (1) not null,

课程号 char (2) not null,

成绩 int , check (成绩 between 0 and 100),

primary key (学号,课程号),

foreign key (课程号) references 课程(课程号),

foreign key (学号) references 学生(学号));

查看这三个表:

select * from 学生

select * from 课程

select * from 选课

给这三个表插入数据:

insert into 学生 values ('1','张三','20','男','中文');

insert into 学生 values ('2','李四','21','女','英语');

insert into 学生 values ('3','王五','22','男','数学');

insert into 学生 values ('4','赵六','23','女','物理');

insert into 学生 values ('5','马八','25','男','计算机');

insert into 课程 values ('01','语文','01','30');

insert into 课程 values ('02','数学','02','40');

insert into 课程 values ('03','英语','03','50');

insert into 课程 values ('04','物理','04','60');

insert into 课程 values ('05','计算机','05','80');

insert into 选课 values ('1','01','20');

insert into 选课 values ('2','02','30');

insert into 选课 values ('3','03','40');

insert into 选课 values ('4','04','50');

insert into 选课 values ('5','05','60');

删除基本表

drop table 选课

删除表中所有的行

truncate table 学生

创建索引

create unique index 索引名 on 表名(学号次序)

给学生表创建一个名为学生_索引年龄降序排列的唯一索引

create unique index 学生_索引 on 学生(年龄desc)

给学生表创建一个名为学生表_索引年龄升序排列的不唯一索引(默认是升序)

create unique index 学生表_索引 on 学生(年龄asc)

给学生表创建一个名为学生的_索引年龄降序排列的聚簇索引

create clustered index 学生的_索引 on 学生(年龄)

删除索引

drop index 表名.索引名

删除学生表_索引

drop index 学生.学生表_索引名

修改数据

update 表名 set 列名=表达式 where 条件

将学生表中的张三的年龄变为岁

update 学生 set 年龄='22' where 学号='1'

将所有学生的年龄都加一岁(不加where代表全部)

update 学生 set 年龄=年龄+1

删除数据

delete from 表名 where 条件

删除学生表中的学号的学生

delete from 学生 where 学号=1

删除所有学生选课记录(不加where代表全部)

delete from 学生

删除计算机系所有学生的选课记录

delete from 选课 where 学号in (select 学号 from 学生 where 系='计算机')

查询学生表中选择中文系的学号:

select 学号 from 学生 where 系='中文'

查询学生表中的所有学号:

select all 学号 from 学生

查询学生表中学生的学号并去除重复的学号:

select distinct 学号 from 学生

查看学生的出生日期并命名该列:

select 年龄,2009-年龄 as 出生日期 from 学生

查看成绩不及格的学生的学号:

select 学号 from 选课 where 成绩<60

查看成绩及格的学生的学号:

select 学号 from 选课 where 成绩>=60

修改一个已有的元组:

update 学生 set 姓名='牛七' ,性别='男' where 学号='4';

将所有选了中文系的学生的成绩清零:

update 选课 set 成绩=0 where 学号in (select 学号 from 学生 where

系='中文');

删除一个元组:

delete from 学生 where 学号='1'

将选课中学生的成绩都提升百分之五:

update 选课 set 成绩=成绩*1.05

查看选择中文系的学生的学号:

select 学号 from 学生 where 系='中文'

删除选课中所有选择中文系的信息:

delete from 选课 where 学号in (select 学号 from 学生 where 系='中文');

清空已有元组中的一列:

update 学生 set 年龄=null

查询学生的成绩在-90之间的学生的学号,所在系,课程名,年龄,姓名,性别,年龄按.降序排列,且是女生:

select 学生.学号,系,年龄,姓名,性别, 课程.课程名, 选课.成绩 from 学生,课程,选课

where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 选课.成绩 between 40 and 90 and

学生.性别='女' order by 学生.年龄 desc

插入时间格式:

create table qq(qs char (2),

qdate datetime,

qtime datetime,

qsdate smalldatetime,

primary key (qs));

select * from qq

set dateformat mdy

insert into qq values

('02','05/15/1788','16:50:28.000','05/15/2078');

所有学生他们每个人的平均成绩及格的学生学号和平均成绩

select 学号,avg(成绩) from 选课 group by 学号 having avg(成绩) in(

select avg(成绩)from 选课 group by 学号) and avg (成绩)>=60;

select 学号,avg(成绩) from 选课 group by 学号 having avg (成绩)>=60

1.列出成绩不合格的学号

select 学号 from 选课 where 成绩<60

2.不重复的学号

select distinct 学号 from 学生

1.中文系,数学系学生的姓名,性别,系号:

select 姓名,性别,系 from 学生 where 系='中文' or 系='英语' or 系='数学';

2.年龄在15至25之间的学生信息:

select 年龄 from 学生 where 年龄between 15 and 25;

3.性别是男的学生的姓名和性别所在的系:

select 姓名,系 from 学生 where 性别= '男';

4.中文系及格的学生的姓名 学号

select 姓名,学号 from 学生 where 学号in (select 学号 from 选课 where 课程号in

(select 课程号 from 选课 where 成绩>=60)) and 系='中文'

5.张三的网络布线的考试成绩

select 成绩 from 选课 where 学号 in (select 课程号 from 选课 where 学号 in

(select 学号 from 学生 where 姓名='张三'))

6.中文系的学生及年龄不大于22的学生

select 姓名 from 学生 where 年龄<=22 and 系='中文'

7.既选修了1号课程又选择了5号课程的学生

select 姓名 from 学生 where 学号 in (select 学号 from 选课 where 课程号='1' and

课程号='5')

8.年龄在岁以上的一个视图,体现学号,姓名,年龄

create view 视图(学号,姓名,年龄) as select 学号,姓名,年龄 from 学生 where

年龄>20

9.只有学分的课程代号.课程名的视图

create view 好的(课程号,课程名,先选修课)

as select 课程号,课程名,先修学科 from 课程 where 课程号 in (select 课程号 from 选课

where 成绩='4')

10.绩及格和参加选课但没有考试成绩的视图.学号,课程号和成绩

create view 我的视图(学号,课程号,成绩)

as select 学号,课程号,成绩 from 选课 where 成绩>=60 or 成绩 is null

11.创建选择号课程的学生的学号,姓名,成绩

create view 我的又一个视图 as select 学生.学号,学生.姓名,选课.成绩 from 学生,选课 where

学生.学号=选课.学号and 选课.程号='05'

insert into 视图名 as select 学号,姓名,年龄 from 学生 where 系='中文' with check

option;

12.显示大于年龄的学生学号和姓名,学号按照升学输出

select 学号,姓名 from 学生 where 年龄>(select avg(年龄)from 学生) order by

学号

13.显示学生表中姓名和最小年龄

select 姓名,年龄最小年龄 from 学生 where 年龄 in (select min(年龄) from 学生)

14.完全备份mgc数据库

use mgc

exec sp_addumpdevice

'disk','wodebeifen','c:\wodebeifen\wodebeifen.bak'

backup database mgc to wodebeifen

15.差异备份mgc数据库

use mgc

backup database mgc to disk='c:\wodebeifen\wodechalingbeifen.bak'

with diffrential

注:差异备份需要一个全库(完全)备份做基础,差异备份就是备份最后一次全库备份以来的数据库改变的部分

16.备份日志文件

use mgc

exec sp_addumpdevice

'disk','rizhidebeifen','c:\wodebeifen\rizhibeifen.bak'

backup log mgc to wodebeifen

17.课本第五章复习题:(全部内容)

create table 学生(学号char(2),

姓名varchar(10),

性别char (2),

年龄int,

所在系varchar (10),

primary key(学号));

create table 课程(课程号 char(2)default '1',

课程名 varchar (6),

先修课号 char (2),

学分 int,

primary key (课程号));

create table 选课(学号 char (2),

课程号 char (2),

成绩 int check (成绩between 0 and 100),

primary key (学号,课程号),

foreign key (学号) references 学生(学号),

foreign key (课程号) references 课程(课程号));

select* from 学生

select * from 课程

select * from 选课

insert into 学生 values ('1','马一','男','20','中文')

insert into 学生 values ('2','赵二','女','21','英语')

insert into 学生 values ('3','张三','男','22','物理')

insert into 学生 values ('4','李四','女','23','化学')

insert into 学生 values ('5','王五','男','24','生物')

insert into 学生 values ('6','钱六','女','25','计算机')

insert into 学生 values ('7','刘七','男','26','地理')

insert into 学生 values ('8','马八','女','27','历史')

insert into 学生 values ('9','付九','男','28','政治')

insert into 学生 values ('10','孙十','女','29','中文')

insert into 学生 values ('11','程十一','男','30','中文')

insert into 学生 values ('12','刘十二','女','31','英语')

insert into 学生 values ('13','牛十三','男','32','英语')

insert into 学生 values ('14','虎十四','女','33','计算机')

update 学生 set 姓名='马一'where 学号='1'

delete from 学生 where 学号='10'

select* from 学生

select * from 课程

select * from 选课

insert into 课程 values ('1','语文','1','90')

insert into 课程 values ('2','数学','2','80')

insert into 课程 values ('3','英语','3','70')

insert into 课程 values ('4','物理','4','60')

insert into 课程 values ('5','化学','5','50')

insert into 课程 values ('6','生物','6','40')

insert into 课程 values ('7','历史','7','30')

insert into 课程 values ('8','地理','8','20')

insert into 课程 values ('9','政治','9','10')

insert into 课程 values ('10','linux','9','10')

insert into 课程 values ('11','win','9','10')

insert into 课程 values ('12','sql','9','10')

insert into 课程 values ('13','路由器','9','10')

insert into 课程 values ('14','交换机','9','10')

insert into 课程 values ('15','pix','9','10')

insert into 选课 values ('1','1','90')

insert into 选课 values ('2','2','80')

insert into 选课 values ('3','3','70')

insert into 选课 values ('4','4','60')

insert into 选课 values ('5','5','50')

insert into 选课 values ('6','6','40')

insert into 选课 values ('7','7','30')

insert into 选课 values ('8','8','20')

insert into 选课 values ('9','9','10')

insert into 选课 values ('1','9','10')

insert into 选课 values ('1','2','10')

insert into 选课 values ('2','1','10')

insert into 选课 values ('2','3','10')

insert into 选课 values ('3','2','10')

insert into 选课 values ('3','5','10')

insert into 选课 values ('3','4','10')

insert into 选课 values ('2','4','10')

insert into 选课 values ('1','3','10')

查询选修了号课程的全部学生的姓名,出生年份,(假定当前为年)

select 姓名,年龄,2002-年龄 from 学生 where 学号in (select 学号 from 选课 where

课程号='1')

将年龄大于岁的的学生所有成绩设为零

update 选课 set 成绩='0' where 学号in (select 学号 from 学生 where

年龄>25)

以name,birthday为标题,显示学生表中所有学生的姓名,出生年份,(假定当前是年),按姓名降序排列

select 姓名 as name, 2002-年龄 as birthday from 学生 order by 姓名

desc

显示选修一号课程的学生的最高分,最低分,平均分,总分及人数

select max(成绩),min(成绩),avg(成绩),sum(成绩),count(*) from 选课 where

课程号='1'

显示选课数目大于3的学生的学号及选课数

select 学号,count(课程号) from 选课 group by 学号

having count(课程号)>=3

为计算机系建一个视图名为cs,包含如下信息:学号,姓名,性别,年龄,课程号,成绩

create view cs (学号,姓名,性别,年龄,课程号,成绩)

as select 学生.学号,姓名,性别,年龄,课程.课程号,选课.成绩 from 学生,课程,选课 where

学生.学号=选课.学号and 课程.课程号=选课.课程号

select * from cs

至少选修了3,4号课的学生姓名

select 学号 from 选课 where 学号in (select 学号 from 选课 where 课程号='3') and

学号in (select 学号 from 选课 where 课程号='4')

查询和张三在一个系的学生姓名和年龄

select 姓名,年龄 from 学生 where 所在系in (select 所在系 from 学生 where

姓名='张三')

查询选了号课且没选号课的学生的姓名

select 姓名 from 学生 where 学号in (select 学号 from 选课 where 课程号='2' and

课程号!='1')

只选 1 2号课程的学生姓名

select 学号 from 学生 where 学号in( select 学号 from 选课 where 课程号='02') and

学号in (select 学号 from 选课 where 课程号='03') and 学号in (select 学号 from 选课

group by 学号 having count(课程号)='2')

创建数据库:

create database school

on primary (name=school,

filename='c:\shujuku\school.mdf',

size=200mb,

maxsize=1gb,

filegrowth=5mb)

log on (name=school_log, filename='c:\shujuku\school_log.ldf',

size=100mb,

maxsize=2gb,

filegrowth=10%);

mysql联合查询 课程表_oracle 学生表,课程表,选课表. 三表联合查询相关推荐

  1. SQL数据库语言基础之SqlServer数据库原理与设计课程期末复习-条件查询实例练习【学生表、选课表、家庭作业表】

    文章目录 1.简单查询 2.查询在1999年出生的学生学号.姓名.出生日期 3.三次作业成绩都在60分以上的学生学号.课程号 4.查询姓张学生学号.姓名和专业班级 5.查询03级的男生信息 6.查询没 ...

  2. 数据库常用操作语句(学生表、选课表、成绩表)

    例1:查询全体学生的学号与姓名. SELECT Sno, Sname FROM Student 例2.查询全体学生的姓名.学号.所在系 SELECT Sname, Sno, Sdept FROM St ...

  3. MySQL简单案例之创建学生表、课程表和选课表

    Course课程表 Cpno先行课 Ccredit学分 Cno课号 Sc表(选课表)Sno学号 Cno课号 Grade成绩 Student表 Sno学号 Sname姓名 Ssex性别 Sage年龄 S ...

  4. Oracle课表查询系统,Oracle SQL基础练习(一)(学生表-课程表-选课表)

    一 使用CREATE TABLE语句和INSERT INTO语句创建表和插入数据. student表 course表 sc表 二 操作数据库 1.分别查询学生表和学生修课表中的全部数据. SELECT ...

  5. 学生表课程表成绩表教师表

    . Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 ...

  6. 学生表/课程表/教师表/成绩表-多表查

    问题及描述: --1.学生表 Student(S#,Sname,Sage,Ssex)     S# --学生编号,Sname -- 学生姓名,Sage-- 出生年月,Ssex -- 学生性别 --2. ...

  7. 学生-课程数据库建表代码(三张表:学生表 课程表 选课表SC)

    第一步:点击新建查询建立数据库 create database _10lzhangsan//先建立数据库 第二步:建表 学生表(包括学号,姓名,性别,年龄,所在系) create table stud ...

  8. mysql查询学生表的总人数_mysql数据库查询练习

    创建四张数据表 学生表student:学号,姓名,性别,出生年月日,所在班级 教师表teacher:教师编号,教师名,教师性别,出生年月日,职称,所在部门 课程表course:课程号,课程名,教师编号 ...

  9. 题目描述:编写一个SQL查询,删除学生表中,学号重复的学生信息,重复的学生信息中只保留id最大的那个

    欢迎大家转发,一起传播知识和正能量,帮助到更多人.辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn 解题思路: ...

  10. sqlserver 多表查询 老师和学生表

    insert into student values(1,'小明'),(2,'小红'),(3,'小绿'),(4,'小蓝');insert into teacher values(1,'苍老师'),(2 ...

最新文章

  1. CNN网络中的 1 x 1 卷积是什么?
  2. c# bindingsource mysql,Navicat for MySQL 使用教程:在.NET中如何连接MySQL数据库
  3. 正则表达式,grep,sed,
  4. ScriptManager.RegisterAsyncPostBackControl 方法
  5. sql server 2005管理员手册_执行一条sql语句都经历了什么?
  6. python3发布时间_什么时候python 3 才能有更好的支持呢?
  7. 宝塔linux修改默认编码,宝塔linux面板防护CC设置(示例代码)
  8. 马来西亚什么时候学计算机,关于马来西亚大学里的计算机专业,你知道多少?...
  9. c++ 结构体中不同类型的初始值_不同类型结构的厂房效果图大盘点
  10. ConceptDraw Office for mac(跨平台图表办公程序)
  11. 初涉网络流[EKdinic]
  12. 前端调用websocket的3种不同写法
  13. linux c获取网卡ip,linux c获取IP地址
  14. VB连接ACCESS数据库
  15. GPS数据格式的分析与处理
  16. 计算机如何保护数据,保护数据-避免丢失
  17. 嵌入式单片机STM32原理及应用
  18. 《遥远的救世主》遵守客观规律(五)——文化属性
  19. Ubuntu Install Zhengma
  20. AD操作整理(部分)

热门文章

  1. html生成pdf java_Java实现HTML代码生成PDF文档
  2. win10开机无响应 无服务器,win10开机假死-状态栏和开始菜单无响应
  3. MySQL数据库维护手册
  4. 植物大战僵尸简单外挂原理及实现
  5. python 导入自己写的包
  6. html制作作业提交入口,制作网页详细操作步骤
  7. 《缠中说禅108课》24::MACD 对背弛的辅助判断
  8. 深度学习的图片统一设置大小
  9. Android数据库升级,android开发艺术探索pdf百度网盘
  10. K650c + Ubuntu 15.04无法正常关机,重启