create table 学生信息表
(
学号 varchar(20) not null primary key,
姓名 varchar(50),
性别 varchar(4),
出生日期 datetime,
班级 int,
)
create table 课程表
(
课程号 varchar(20) not null primary key,
课程名 varchar(20),
老师号 varchar(20)
)
create table 成绩表
(
学号 varchar(20) not null foreign key references 学生信息表(学号),
课程号 varchar(20) not null foreign key references 课程表(课程号),
成绩 int操作系统
)code
insert 学生信息表table
values('101','李军','男','1976-02-20','95033')
insert 学生信息表date
values('103','陆君','男','1974-06-03','95031')
insert 学生信息表select
values('105','匡明','男','1975-10-02','95031')
insert 学生信息表im
values('107','王丽','女','1976-01-23','95033')
insert 学生信息表统计
values('108','曾华','男','1976-09-01','95033')
insert 学生信息表数据
values('109','王芳','女','1976-02-10','95031')
select *
from 学生信息表datetime
insert 课程表查询
values('3-105','计算机导论','825')
insert 课程表
values('3-245','操做系统','804')
insert 课程表
values('6-166','数字电路','856')
select *
from 课程表
insert 成绩表
values('101','3-105',64)
select *
from 成绩表
insert 成绩表
values('101','6-166',85)
insert 成绩表
values('103','3-105',92)
insert 成绩表
values('103','3-245',86)
insert 成绩表
values('105','3-105',88)
insert 成绩表
values('105','3-245',75)
insert 成绩表
values('107','3-105',91)
insert 成绩表
values('107','6-166',79)
insert 成绩表
values('108','3-105',78)
insert 成绩表
values('108','6-166',81)
insert 成绩表
values('109','3-105',76)
insert 成绩表
values('109','3-245',68)
select *
from 成绩表
create table 学生信息表
(
学号 varchar(20) not null primary key,
姓名 varchar(50),
性别 varchar(4),
出生日期 datetime,
班级 int,
)
create table 课程表
(
课程号 varchar(20) not null primary key,
课程名 varchar(20),
老师号 varchar(20)
)
create table 成绩表
(
学号 varchar(20) not null foreign key references 学生信息表(学号),
课程号 varchar(20) not null foreign key references 课程表(课程号),
成绩 int
)
insert 学生信息表
values('101','李军','男','1976-02-20','95033')
insert 学生信息表
values('103','陆君','男','1974-06-03','95031')
insert 学生信息表
values('105','匡明','男','1975-10-02','95031')
insert 学生信息表
values('107','王丽','女','1976-01-23','95033')
insert 学生信息表
values('108','曾华','男','1976-09-01','95033')
insert 学生信息表
values('109','王芳','女','1976-02-10','95031')
select *
from 学生信息表
insert 课程表
values('3-105','计算机导论','825')
insert 课程表
values('3-245','操做系统','804')
insert 课程表
values('6-166','数字电路','856')
select *
from 课程表
insert 成绩表
values('101','3-105',64)
select *
from 成绩表
insert 成绩表
values('101','6-166',85)
insert 成绩表
values('103','3-105',92)
insert 成绩表
values('103','3-245',86)
insert 成绩表
values('105','3-105',88)
insert 成绩表
values('105','3-245',75)
insert 成绩表
values('107','3-105',91)
insert 成绩表
values('107','6-166',79)
insert 成绩表
values('108','3-105',78)
insert 成绩表
values('108','6-166',81)
insert 成绩表
values('109','3-105',76)
insert 成绩表
values('109','3-245',68)
select *
from 成绩表
select 学号,姓名
from 学生信息表
select
学号 as'xuehao', 姓名 as'xingming', 性别 as'xingbie', 出生日期 as'chushengri', 班级 as'banji' from 学生信息表
select *
from 学生信息表
select 学生号,成绩
from 成绩表
select 学生号,成绩
into newtable
from 成绩表
select 姓名,'年龄',2015-datepart(yy,出生日期)
from 学生信息表]
select distinct 学生号
from 成绩表
select top 4 *
from 成绩表
select 学生号,成绩
from 成绩表
where 课程号='3-105' order by 成绩 desc
select *
from 学生信息表
order by 班级,出生日期
select 学号,姓名
from 学生信息表
where 出生日期>'1975-01-01'
select 学号,姓
from 学生信息表
where not 出生日期<='1975-01-01'
select *
from 成绩表
where 成绩between 60 and 80
select *
from 成绩表
where 成绩not between 60 and 80
-
select *
from 成绩表
where 成绩in (85,90,95)
select *
from 学生信息表
where 学号like '101'
select 姓名,学号, 性别
from 学生信息表
where 姓名like '王%'
select 学号, 课程号
from 成绩表
where 成绩is not null
select *
from 成绩表
where 成绩>=60 and 成绩<=80
select *
from 学生信息表
where 性别='女' and 班级='95033'
select count(*)
from 学生信息表
select count(学号)
from 学生信息表
select count(distinct 班级)
from 学生信息表
select avg(成绩)
from 成绩表
where 课程号='3-105'
select 课程号,count(*) as '选修课人数'
from 成绩表
group by 课程号
select 学号, count(*)
from 成绩表
where 成绩> 85 group by 学号 having count(*)>= 2
select *
from 学生信息表
where 班级in
( select 班级 from 学生信息表 where 姓名='王芳' )
select 学号,姓名
from 学生信息表
where 学号 in ( select 学号 from 成绩表 where 课程号='3-105' )
use 学生库
select *
from 学生信息表
where 班级= ( select 班级 from 学生信息表 where 姓名= '王芳' )
select 姓名出生日期
from 学生信息表
where 出生日期> any (
select 出生日期 from 学生信息表 where 班级= '95031' )
select 姓名出生日期
from 学生信息表
where 出生日期> (
select max(出生日期) from 学生信息表 where 班级= '95031' )
select 姓名
from 学生信息表
where exists
( select * from 成绩表 where 学号= 学生信息表.学号and 课程号= '3-425' )
由相关表查询数据,需将表进行链接 外链接(左外链接,有外链接,全外链接);内链接(天然链接) 即在两张表上查询数据,同时调用
两张表以上非嵌套查询(相关子查询;子查询)
查询学生的 学生信息表和成绩表的所有数据
select 学生信息表. , 成绩表.
from 学生信息表, 成绩表
where 学生信息表.学号=成绩表.学号
选修课3-105的成绩高于学号109的全部学生记录
select x. ,y.
from 成绩表x , 成绩表y
where x.课程号= '3-105' and y.课程号='3-105' and y.学号='109' and x.成绩> y.成绩
order by x.成绩 desc
select x., y.
from 成绩表x inner join 成绩表y
on x.课程号= '3-105' and y.课程号='3-105' and y.学号='109' and x.成绩> y.成绩
select 成绩表. ,成绩表.
from 学生信息表inner join 成绩表
on 学生信息表.学号=成绩表.学号 and 成绩表.课程号='3-105' and 成绩表.成绩>90
select 学生信息表.学号, 姓名, 课程名, 成绩
from 学生信息表, 课程表, 成绩表
where 学生信息表.学号= 成绩表.学号 and 课程表.课程号= 成绩表.课程号
select 学生信息表.学号, 姓名, 课程名, 成绩
from 学生信息表inner join 成绩表 on 学生信息表.学号=成绩表.学号 inner join 课程表
on 课程表.课程号=成绩表.课程号
update 学生信息表
set 姓名='李军改'
where 学号='101'
update 学生信息表
set 姓名='李军'
where 学号='101'
update 成绩表
set 成绩=成绩+20
update 成绩表
set 成绩=成绩-20
delete
from 成绩表
where 学号='1001'
delete 成绩表
where 学号='1001'
delete 成绩表from 成绩表where 学号='1001'