A. sql编程题的答案是什么
1.
CREATE TABLE `student` (
`Sno` int(5) NOT NULL,
`Sname` varchar(6) NOT NULL,
`Ssex` varchar(2) NOT NULL,
`Sdept` char(255),
`Sage` int(2) CHECK (value BETWEEN 15 AND 25),
PRIMARY KEY (`Sno`)
)
2.select * from student where Sname like '张%';
3.没有SC表结构
4.insert into student values(95020,"陈冬","男","CS",18)
5.猜的表结构,update set 学分=3 where cno='3';
B. SQL50题及答案
习题来源于网络,sql语句是自己的答案,部分有参考。欢迎指正及探讨。
1. 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
1.1 查询同时存在" 01 "课程和" 02 "课程的情况
1.2 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null)
null提示:使用left join
1.3 查询不存在" 01 "课程但存在" 02 "课程的情况
2. 查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩
3. 查询在 SC 表存在成绩的学生信息
4. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null)
4.1 查有成绩的学生信息
5. 查询“李”姓老师的数量
6. 查询学过“张三”老师授课的同学的信息
7. 查询没有学全所有课程的同学的信息
8. 查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息
9. 查询和" 01 "号的同学学习的课程 完全相同的其他同学的信息
10. 查询没学过"张三"老师讲授的任一门课程的学生姓名
11. 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩
12. 检索" 01 "课程分数小于 60,按分数降序排列的学生信息
13. 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩
14. 查询各科成绩最高分、最低分和平均分:以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率(及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
14.1要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
15. 按各科成绩进行排序,并显示排名, Score 重复时保留名次空缺
15.1 按各科成绩进行排序,并显示排名, Score 重复时合并名次
16. 查询学生的总成绩,并进行排名,总分重复时保留名次空缺
16.1 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺
17. 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 及所占百分比
18. 查询各科成绩前三名的记录
19. 查询每门课程被选修的学生数
20. 查询出只选修两门课程的学生学号和姓名
21. 查询男生、女生人数
22. 查询名字中含有“风”字的学生信息
23. 查询同名同性学生名单,并统计同名人数
24. 查询 1990 年出生的学生名单
25. 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列
26. 查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩
27. 查询课程名称为“数学”,且分数低于 60 的学生姓名和分数
28. 查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)
29. 查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数
30. 查询不及格的课程
31. 查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名
32. 求每门课程的学生人数
33. 成绩不重复,查询选修“张三”老师所授课程的学生中,成绩最高的学生信息及其成绩
34. 成绩有重复的情况下,查询选修“张三”老师所授课程的学生中,成绩最高的学生信息及其成绩
35. 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩
36. 查询每门功成绩最好的前两名
37. 统计每门课程的学生选修人数(超过 5 人的课程才统计)
38. 检索至少选修两门课程的学生学号
39. 查询选修了全部课程的学生信息
40. 查询各学生的年龄,只按年份来算
41. 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
42. 查询本周过生日的学生
43. 查询下周过生日的学生
44. 查询本月过生日的学生
45. 查询下月过生日的学生
1.1 查询同时存在" 01 "课程和" 02 "课程的情况
1.2 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
1.3 查询不存在" 01 "课程但存在" 02 "课程的情况
4.1 查有成绩的学生信息
15.1 按各科成绩进行排序,并显示排名, Score 重复时合并名次
16.1 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺
C. 求SQL答案!!!
第一题:sql server 是关系模型数据库系统
第二题:数据库中原有的数据库其中有northwind和pubs也是用户数据库
第三题:附加数据库的操作是把已经存在于磁盘的数据库文件恢复成数据库
第四题:主键是用来实施实体完整性约束,另外还有参照完整性和用户自定义完整性
第五题:使用数据导入导出操作,就可以用简化为access了
第六题:20/0.4=50
第七题:.ldf是日志文件的后缀名,mdf是主文件,ndf是次文件
第八题:mm的位置是3,加2,等于5
第九题:len返回字符串长度,返回int
第十题:经过验证时包括
11:master数据库
12:触发器
13:菱形
14:日志文件
15:insert
16:@
17:windows
18:avg()
19:F5
20::like
1c 2a 3a 4a 5c 6c 7b 8b 9c 10a
D. SQL多项选择题,急求答案,最好有解析
1.答案A,D,E DESC是降序,省略ASC和DESC,默认为升序。
2.答案A,C,D,E 创建视图时不允许在所用SELECT语句中使用ORDER BY、COMPUTE子句
3.C,D,E 执行存储过程时可用WITH RECOMPLE选项进行重新编译;只有当执行存储过程的语句是批处理中的第一个语句,才可以直接通过名称来调用存储过程
4.C,E 使用SQL Server Management Studio不能运行命令行实用程序sqlcmd
5.C,D,F 一个局部变量只能在一个语句批中使用,使用SET语句只能对一个局部变量赋值,刚定义的局部变量的初值为空值
6.B 用户定义函数可以有输入参数和返回值
E. sql语句相关测试
sql语句相关测试
篇一:SQL语句测试
1、(10分)要求:
选择受理时间在2008-5-1 到 2008-6-1之间的所有申请人姓氏为“刘”的数据,并把“新受理编号”列表示成当前机器时间的年月和原受理编号年月后的数值组合
格式如下:
受理编号,新受理编号,受理时间, 申请人
200801112 201008112 2008-01-13刘XX
需要的表
I_Optinst 业务实例表
REGDATE(受理日期)
Regnum(受理编号)
Proposer(申请人)
解答:select Regnum as 受理编号, as 新受理编号,REGDATE as 受理时间,Proposer as申请人 from Optinst 2、(15分)要求:
前提:只统计业务小类“存量房买卖”
①按照月份分12月列出2008年每个月份的月份对应月份的交易总面积
②按照月份分12月列出2008年每个月份的月份对应月份的交易均价(申报价格/建筑面积)
格式
年度月份 交易总面积 年度月份交易均价(元/平方米)
2008-01 23232 2008-01 2323
2008-02 23232008-02 232
2008-03 232323 2008-03 7656
2008-04 232323 2008-03 565
2008-05 232323 2008-03 5656
2008-06 232323 2008-03 565
2008-07 232323 2008-03 67
2008-08 232323 2008-03 676
2008-09 232323 2008-03 6767
2008-10 232323 2008-03 8686
2008-11 232323 2008-03 867
2008-12 232323 2008-03 454
需要的表:
Fc_room 房间表
BAREA(建筑面积)
I_Optinst业务实例表
regdate(受理时间)
fc_owner 产权表
COSTVAL(申报价格)
EVLVAL(评估价格)
fc_owoom 房间明细表
1.select regdate as年度月份,BAREA as 交易总面积 from Fc_room,Optinst where
3、(20分)要求:
①:按照时间统计收费明细 统计格式如下
受理编号缴费人收费日期 收费名称收费金额核费人收费人
②:按照时间汇总(2008年度)统计收费项目分类 统计格式如下
收费名称 总金额
需要的表:
I_OptInst(业务实例表)
Regnum 受理编号
Proposer 申请人
I_Charge(收费实例表)
HEFEIMAN 核费人
PAYEE 收款人
CDATE 收费日期
I_ChrDtl(收费实例明细表
CNAME 收费名称
MONEY 收费金额
4、(15分)要求:用途是住宅并且建筑面积<=140>140 定义为 “非普通住宅”
用途是商业并且建筑面积>140 定义为 “商业A级”
其他情况定义为“非住宅”
根据用途和面积列表出所有数据
格式
受理编号, 用途
200406000386 普通住宅
200406004631 非普通住宅
200406004633 普通住宅
200406004638 普通住宅
200406004641 非住宅
200501000004 普通住宅
200406004568 非住宅
200406005677 商业A级
表:
fc_room
barea 建筑面积
BUse 用途
i_optinst
regnum 受理编号
5、(30分)工作量统计
① 选择出以下格式的数据;并创建视图名称为view_AAAA
业务小类业务实例 交易价格建筑面积 登记时间
1 存量房买卖 14100 19400.0029.98 2005-11-10 11:32:50 2 新建商品房 15041 229530.00 124.07 2005-11-21 08:59:36 3 新建商品房 15043 177363.00 101.35 2005-11-21 09:15:59 4 新建商品房 13046 71130.0023.71 2005-11-02 10:15:37 5 新建商品房 11280 148563.00 87.39 2005-10-11 09:50:48 6 新建商品房 11353 267369.00 116.04 2005-10-11 15:34:53 7 房改售房 2689 35.22 2004-06-17 08:43:00 8 产权人名称变更 11701 724.18 2005-10-17 10:05:20 9 新建商品房 7206 158257.00 88.69 2005-09-16 14:50:57 10 存量房买卖 (转 载于:wWw.cnboThwiN.cOM 博 威范文 网: sql语句测试 )10100 103.07 2005-08-31 20:27:06 11 存量房买卖 12980 51500.0046.66 2005-11-01 14:41:32 12 新建商品房 13000 136782.00 80.46 2005-11-01 15:37:05 13 新建商品房 16946 300844.00 146.33 2005-12-15 14:15:07 14 存量房买卖 10091 509.18 2005-08-31 19:19:25 ② 使用视图 view_AAAA 当做表 选择出如下样式数据
业务小类 件数合计金额 合计面积
1 用途变更 1151.3
2 转移登记 184.03
3 新建商品房 31 263243643197.34
4 房改售房 8252.43
5 产权人名称变更 3 778.6
6 单位产新建 311697.49
7 赠与 1 28.48
8 存量房买卖 24 4379004134.67
9 判决仲裁 2 439.41
10 继承遗赠 1 49.17
11 换证 2 228.88
12 新建房屋 17 928.91
③ 用水晶报表关联视图 view_AAAA 设计出类似于②的数据格式 需要的表
FC_Owner
EvlVal交易价格
I_OptInst,
SOName 业务小类
fc_owoom,
BArea 建筑面积
FC_Room
regdate 受理日期
篇二:sql查询语句学习测试答案
第一部分SQL查询语句的学习
单表查询 1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值
use eee
SELECT 订购日期,订单ID,客户ID,
雇员ID
FROM 订单
WHERE 订购日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'
2、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。
use eee
SELECT 供应商ID,公司名称,地区,城市,电话
FROM 供应商
WHERE 地区='华北' AND 联系人职务='销售代表'
3、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津 use eee
SELECT 供应商ID,公司名称,地区,城市,电话
FROM 供应商
WHERE 地区IN('华东', '华南') OR 城市='天津'
4、--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值
use eee
SELECT 供应商ID,公司名称,地区,城市,电话
FROM 供应商
WHERE 地区IN('华东', '华南')
多表查询 5、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列
use eee
SELECT 订购日期,订单ID,公司名称,姓氏,名字
FROM 订单,雇员,客户
WHERE 订购日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'
AND 订单.雇员ID = 雇员.雇员ID
AND 订单.客户ID = 客户.客户ID
ORDER BY 姓氏,名字ASC,订单ID DESC
6、--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称
use eee
SELECT 订单.订单ID,公司名称,产品名称
FROM 订单,运货商,产品,订单明细
WHERE 订单.订单ID IN('10248','10254')
AND 订单.订单ID = 订单明细.订单ID
AND 订单明细.产品ID = 产品.产品ID
AND
订单.运货商= 运货商.运货商ID
7、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣
use eee
SELECT 订单.订单ID,产品名称,数量,订单明细.单价,折扣
FROM 订单,产品,订单明细
WHERE 订单.订单ID IN('10248','10254')
AND 订单.订单ID = 订单明细.订单ID
AND 订单明细.产品ID = 产品.产品ID
篇三:sql语句练习题及答案
一 在数据库 school 中建立student , sc, course 表。
学生表、课程表、选课表属于数据库 School ,其各自的数据结构如下:
学生 Student (Sno,Sname,Ssex,Sage,Sdept)
课程表 course(Cno,Cname,Cpno,Ccredit)
学生选课 SC(Sno,Cno,Grade)
二 设定主码
1 Student表的主码:sno2 Course表的主码:cno 3 Sc表的主码:sno,cno
1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句
2
3 删除student表中的元组
4在数据库school中删除关系student
5在student表添加属性sbirthdate 类型 datetime
Delete
1 删除所有 JSJ 系的男生 from Student where Sdept=’JSJ’ and Ssex=’男’; 2 删除“数据库原理”的课的选课纪录
from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);
Update
1 修改 0001 学生的系科为: JSJ
2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为 93 分 3 把“数据库原理”课的成绩减去1分
Select 查询语句
一 单表
1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。 2查询姓名中第2个字为“明”字的学生学号、性别。 3查询 1001课程没有成绩的学生学号、课程号
4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列 5按10分制查询学生的sno,cno,10分制成绩
(1-10分 为1 ,11-20分为2 ,30-39分为3,。。。90-100为10) 6查询 student 表中的学生共分布在那几个系中。(distinct) 7查询0001号学生1001,1002课程的成绩。
二 统计
1查询姓名中有“明”字的学生人数。 2计算‘JSJ’系的平均年龄及最大年龄。 3查询学生中姓名为张明、赵英的人数
4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列 5 计算 1001,1002 课程的'平均分。
6 查询平均分大于80分的学生学号及平均分 7 统计选修课程超过 2 门的学生学号
8 统计有10位成绩大于85分以上的课程号。 9 统计平均分不及格的学生学号
10 统计有大于两门课不及格的学生学号
三 连接
1查询 JSJ 系的学生选修的课程号
2查询选修1002 课程的学生的学生姓名 (不用嵌套及嵌套2种方法) 3查询数据库原理不及格的学生学号及成绩
4查询选修“数据库原理”课且成绩 80 以上的学生姓名(不用嵌套及嵌套2种方法) 5查询平均分不及格的学生的学号,姓名,平均分。 6查询女学生平均分高于75分的学生姓名。
7查询男学生学号、姓名、课程号、成绩。(一门课程也没有选修的男学生也要列出,不能
四 嵌套、相关及其他
1 查询平均分不及格的学生人数
2 查询没有选修1002 课程的学生的学生姓名
3 查询平均分最高的学生学号及平均分 (2种方法 TOP , any , all) *4 查询没有选修1001,1002课程的学生姓名。
5 查询1002课程第一名的学生学号(2种方法) 6 查询平均分前三名的学生学号
7 查询 JSJ 系的学生与年龄不大于19岁的学生的差集
8 查询1001号课程大于90分的学生学号、姓名及平均分大于85分的学生学号、姓名 9 查询每门课程成绩都高于该门课程平均分的学生学号 10 查询大于本系科平均年龄的学生姓名
答案
参考答案
1 create table student (sno6), sname var8), ssex2), sagesmallint, sdept var15), primary key(sno));
create table sc
(sno6), cno 4),
grade decimal(12,2), primary key(sno,cno));
into student
values( ’4001’,’赵茵’,’男’,20,’SX’)
from student
student
alter table student add sbirthdate datetime
1 select sno, sname, sage from student
where ssex=’女’ and sage between 19 and 21order by sage desc; 2 select sno, ssexfrom student
where sname like ’_明% ’ ; 3 select sno, cnofrom sc
where grade is null and cno=’1001’ ; 4 select sno, sname from student
where sdept in (’JSJ’,’SX’,’WL’) and sage>25 group by sdept;
select sno, cno, grade/10.0+1 as levelfrom sc ;
select distinct sdept from student ; select grade from sc
where sno=’0001’ and (cno=’1001’ or cno=’1002’) ;
select count(*) from student where sname like ’%明% ’ ; select avg(sage),max(sage) from student where sdept=’JSJ’ ; select cno,sum(grade),avg(grade),max(grade),min(grade) from sc group by cno
order by avg(grade) desc ;
select cno, avg(grade) from sc where cno in(‘1001’,’1002’) group by cno ;
select sc.sno ,avg(grade) from scgroup by sc.sno
having avg(grade)>80 ;
select sno from sc group by sno having count(*)>2 ;
select cno from sc where grade>85 group by cno having count(*)=10 ; select sno from sc group by sno having avg(grade)<60 ;
select sno from sc where grade<60 group="" by="" sno="" having="">2 ;
select cno from student,sc where student.sno=sc.sno and sdept=’JSJ’ ; a:select sname from student,sc where student.sno=sc.sno and cno=’1002’
b:select sname from student where sno in (select sno from sc where cno=’1002’)
select sno,grade from sc,course
where sc.cno=course.cno and cname=’数据库原理’ and grade<60 a:select sname from student ,sc,course
where student.sno=sc.sno and sc.cno=course.cno and grade>80 and cname=’ 数据库原理’ b:select sname from student where sno in (select sno from sc where grade>80 and cno in (select cno from course where cname=’ 数据库原理’)) select sno,sname,avg(grade) from sc,studentwhere student.sno=sc.snogroup by student.sno having avg(grade)<60
a:select sname from student where ssex=’女’ and sno in(select sno from sc group by sno having avg(grade)>75)
b:select sname from sc,student where student.sno=sc.sno and ssex=’女’group by student.sno having avg(grade)>75
select student.sno,sname,cno,grade from student left join sc on student.sno=sc.sno and ssex=’男’
select count(*) from student where sno in( select sno from sc group by sno havingavg(grade)<60)
select sname from student where sno not in(select sno from sc where cno=’1002’)
student
0001 aaX 0002 bb
0003 ccX Sc
0001 1001 0001 1002 0002 1001 0003 1002
Select sname from student where not exists(select* from sc where cno=’1002’ and sc.sno=student.sno)
a:select top 1 sno,avg(grade) from sc group by sno order by avg(grade) desc b:select sno, avg(grade) from sc group by sno
having avg(grade)=(select top 1 avg(grade) from scgroup by sno order by avg(grade) desc) c:select sno, avg(grade) from sc group by sno
having avg(grade)>=all ( select avg(grade) from sc group by sno)
select sname from student where not exists(
select * from course where cno in(‘1001’,’1002’) and
not exists(select * from sc where sno =student.sno and cno=course.cno) ) a:select top 1 sno from sc cno=’1002’ order by grade desc b:select sno from sc where cno=’1002’ and grade >=all (
;F. SQL题目,急求解答,感谢
1、
CREATE TABLE `科室` (
`科室号` VARCHAR(32) NOT NULL,
`科室名` VARCHAR(100) NULL DEFAULT NULL,
`值班电话` VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (`科室号`)
)
2、
select * from '医生' where 职称='主任医师'
3、
select '病人'.姓名,'病人'.'出生日期' from '病人','门诊记录' where '病人'.'病人编号'='门诊记录'.'病人编号' and '门诊记录'.'日期'='2017年11月11日'
4、
select '科室'.'科室号',count('门诊记录'.'门诊号') as cc, from '科室','医生','门诊记录' where '科室'.'科室号'='医生'.'所属科室号' and '医生'.'工号'='门诊记录'.'工号'
group by '科室'.'科室号'
order by cc desc limit 1
5、
select * from '病人','门诊记录' where '病人'.'病人编号'='门诊记录'.'病人编号' and '门诊记录'.'诊断' like '%高血压%'
6、
update '医生' set '状态'='退休' where '姓名'='贾宁'
G. SQL 试题 求高手给正确答案!
题那么多,分这么少,没有积极性,没人给你做啊。
我有时间再给你看看吧。
简答读程题
1列出Sql Server 2000数据库中常见的数据库对象。
表、视图、存储过程、触发器、索引
2简述INSERT触发器的工作原理
当insert一条或多条数据的时候,即触发该触发器。
单选题
1、关于主键描述正确的是:( c )
A、包含一列 B、包含两列 C、包含一列或者多列 D、以上都不正确
2、模式查找like '_a%',下面哪个结果是可能的( b )。
A、aili B、
C、bba D、cca
3、下列途径哪个不是实现值域完整性约束的 __D___ 。
A 、rule( 规则 ) B 、default C 、not null D 、trancation
4 关于视图和索引,下列说法那个是正确的___B__ 。
A 、视图是虚表,观察到的数据是实际基本表中的数据。
B 、索引查找法是比表扫描法查询更快的一种方法。
C 、视图是查询数据的一种方法,只能基于基本表建立。
D 、索引的创建只和数据的存储有关系。
5在SQL SERVER服务器上,存储过程是一组预先定义并(D)的Transact-SQL语句。
A、另保存 B、编写 C、解释说明 D、编译
6、SQL Server 2000是一个(C)的数据库系统。
A、层次型 B、 网状型 C、关系型 D、组合型
7、SQL语言中,条件“年龄BETWEEN 40 AND 50”表示年龄在40至50之间,且( a )。
A、包括40岁和50岁 B、不包括40岁和50岁
C、包括40岁但不包括50岁 D、包括50岁但不包括40岁
8、面对索引的相关描述正确的是:(B)。
A、经常被查询的列不适合建索引。 B、 列值唯一的列适合建索引。
C、有很多重复值的列适合建索引。 D、 是外键或主键的列不适合建索引。
H. SQL题目求答案
/*创建Moonfox_db数据库*/
use master
if exists(select * from sysdatabases where name='Moonfox_db')
drop database Moonfox_db
create database Moonfox_db
on
(
name='Moonfox_db_data',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.mdf',
size=10,
filegrowth=2MB
)
log on
(
name='Moonfox_db_log',
filename='D:\Visual Studio 2008 & Sql server 2005\Sql server\Moonfox_db.ldf',
size=5,
filegrowth=20%
)/*创建Department表*/
use Moonfox_db
if exists(select * from sysobjects where name='Department')
drop table Department
create table Department
(
DID int identity (1,1)primary key,--部门编号,主键
Dname nvarchar(20),--部门名称
Address nvarchar(50),--部门地址
Photo decimal(12,0),--电话
)/*创建Employee表*/
use Moonfox_db
if exists(select * from sysobjects where name='Employee')
drop table Employee
create table Employee
(
EID int identity (1,1)primary key,--职工编号,主键
Ename varchar(10),--职工名
Gender nchar(2) check(Gender='男' or Gender='女'),--性别,添加限制
Position nvarchar(10) check(Position='员工' or Position='组长' or Position='经理'),--职务,添加限制
Address nvarchar(50),--家庭地址
DID int,--部门编号,外键
foreign key(DID) references Department(DID)--外键约束
)
/*创建Care表*/
use Moonfox_db
if exists(select * from sysobjects where name='Care')
drop table Care
create table Care
(
CID int identity (1,1)primary key,--保健卡编号,主键
EID int,--职工号,外键
foreign key(EID) references Employee(EID),--外键约束
CheckDate datetime,--检查身体日期
PhysicalCondition nvarchar(4) check(PhysicalCondition='一般' or PhysicalCondition='差' or PhysicalCondition='好'),--健康状况
)
/*创建Care表约束*/
alter table Care
add
constraint DF_CheckDate default(getdate()) for CheckDate--缺省,默认净时间为当前计算机时间 路径自己修改,试图自己做,选择语句自己写。我该睡觉了,抱歉,你试着在sql server中运行下,我等着休息,也不知道写的有没有错误,没时间帮你写省下的了。不急着用的话我明天帮你写吧。