我这个学期正在学习 DBMS 课程,我想确保我取得了良好的进步并练习了良好的思维,我自己处理查询的方法有点像分而治之 - 我将查询拆分为子查询并使其成为视图,然后一般来说,使用这些视图来简单地收集我需要的信息,这是一个好方法吗?
有什么替代方法?
你自己的方法是什么?如果您认为它比我的更好,为什么?
例子 :
给定:数据库:http ://sqlfiddle.com/#!2/cdd98/1
(Q7) 查找访问过与其保险公司相关的所有骨科医师(专科)的患者。
.
CREATE VIEW Orthos AS
SELECT d.cid,d.did
FROM Doctors d
WHERE d.speciality='Orthopedist';
CREATE VIEW OrthosPerInc AS
SELECT o.cid, COUNT(o.did) as countd4i
FROM Orthos o
GROUP BY o.cid;
CREATE VIEW OrthoVisitsPerPat AS
SELECT v.pid,COUNT(o.did) as countv4d
FROM Orthos o,Visits v,Doctors d
WHERE o.did=v.did and d.did=o.did
GROUP BY v.pid,d.cid;
SELECT p.pname,p.pid,p.cid
FROM OrthoVisitsPerPat v, OrthosPerInc i,Patient p
WHERE i.countd4i = v.countv4d and p.pid=v.pid and p.cid=i.cid