一些SQL的题目 求解答。 求助各位~ 谢谢啦

如题所述

1.第一个问题:
create database [医院数据库]
GO
USE [医院数据库]
create table 医生表(
编号 char(6) PRIMARY KEY
,姓名 varchar(10) not null
,性别 char(2) CHECK (性别 = '男' or 性别 = '女') DEFAULT '男'
,出生日期 datetime
,职称 varchar(10) not null
)
create table 病人表(
编号 char(6) PRIMARY KEY
,姓名 varchar(10) not null
,性别 char(2)
,民族 varchar(10) DEFAULT '汉族'
,身份证号 numeric(18,0)
)
create table 病历表(
病人编号 char(6) FOREIGN KEY REFERENCES 病人表(编号)
,医生编号 char(6) FOREIGN KEY REFERENCES 医生表(编号)
,病历描述 nvarchar(255)
)
2.第二个问题:
USE [医院数据库]
insert into [dbo].[医生表] ([编号],[姓名],[性别],[出生日期],[职称])
values ('100001' , '杜医生' , '男' , '1963-06-18' , '副主任医师')
insert into [dbo].[医生表] ([编号],[姓名],[性别],[出生日期],[职称])
values ('100002' , '郭医生' , '女' , '1950-07-26' , '副主任医师')
insert into [dbo].[医生表] ([编号],[姓名],[性别],[出生日期],[职称])
values ('100003' , '刘医生' , '男' , '1973-09-18' , '医师')
GO
UPDATE [dbo].[医生表] SET [职称] = '主任医师' WHERE [编号] = '100002'
GO
DELETE FROM [dbo].[医生表] WHERE [编号] = '100003'
3.第三个问题:
USE [医院数据库]
GO
CREATE VIEW [医疗表视图] AS
SELECT a.医生编号
,b.姓名 [医生姓名]
,c.姓名 [病人姓名]
,a.病历描述
FROM [dbo].[病历表] AS a
full join [dbo].[医生表] AS b
ON a.医生编号 = b.编号
full join [dbo].[病人表] AS c
ON a.病人编号 = c.编号
4.第四个问题:
USE [医院数据库]
SELECT a.病人编号
,c.姓名 [病人姓名]
,a.病历描述
,a.医生编号
FROM [dbo].[病历表] AS a
full join [dbo].[病人表] AS c
ON a.病人编号 = c.编号
5.第五个问题:
USE [医院数据库]
GO
CREATE PROCEDURE per_cnt (@name varchar(10))
AS
BEGIN
SELECT [医生编号] , COUNT(*)
FROM [dbo].[病历表]
WHERE [医生编号] IN (SELECT [编号] FROM [dbo].[医生表] WHERE [姓名] = @name)
GROUP BY [医生编号]
END
GO
EXEC per_cnt '刘医生'
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网