以企业面试讲解sql语句

来源:互联网 发布:flash插件 mac 最新 编辑:程序博客网 时间:2024/06/07 14:52

这里写图片描述

如上图所示,关于sql语句相关写法请去看我写的另外一篇博客
http://blog.csdn.net/qy20115549/article/details/52819503:

首先,我们要分析题,分析其逻辑结构。根据我的分析,我认为其中存在4个表格。一张是关于医院信息的表格。一张是关于医院门诊部的表格。一张是门诊部对应医生的表格。最后,一张便是病人信息的表格。
第(1)问为建表语句:

CREATE TABLE IF NOT EXISTS  `hospital` (  `hospital_id` int(50) NOT NULL DEFAULT '' COMMENT '医院编号id',  `hospital_name` varchar(255) DEFAULT NULL COMMENT '医院名称',  PRIMARY KEY (`hospital_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS  `outpatient` (  `outp_id` int(50) NOT NULL DEFAULT '' COMMENT '门诊部编号id',  `outp_name` varchar(255) DEFAULT NULL COMMENT '门诊部名称',  `hospital_id` int(50) DEFAULT NULL COMMENT '门诊部所属的医院的编号',  PRIMARY KEY (`outp_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS  `doctor` (  `doctor_id` int(50) NOT NULL DEFAULT '' COMMENT '医生编号id',  `doctor_name` varchar(255) DEFAULT NULL COMMENT '医生名称',  `outp_id` int(50) NOT NULL DEFAULT '' COMMENT '医生所属门诊部编号id',  PRIMARY KEY (`doctor_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS  `patient` (  `patient_id` int(50) NOT NULL DEFAULT '' COMMENT '病人编号id',  `patient_name` varchar(255) DEFAULT NULL COMMENT '病人姓名',  `doctor_id` varchar(255) DEFAULT NULL COMMENT '就诊医生姓名',  PRIMARY KEY (`patient_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

第(2)问:

select outp_id,count(*)  from doctor group by outp_id;

第(3)问:

select a.* from doctor a,patient b where b.doctor_id=a.doctor_id and b.patient_id='小明';
0 0
原创粉丝点击