【发布时间】:2010-08-06 16:11:29
【问题描述】:
您能否告诉我这样做是否正确,或者我是否需要改进其中一些?当有关联实体时,我很难理解查询的含义。
列出所有捐赠者
SELECT* from Donor;
列出所有捐赠者的名字和姓氏
SELECT dfname, dlname
FROM donor
列出106号和125号捐赠者的电话号码
SELECT dphone
FROM DONOR
WHERE dphone = “106”
AND dphone = “125”;
列出每个捐赠者每年给予的金额
SELECT year
FROM YEAR IN (
SELECT donor, amount
FROM GIFT);
列出每年捐赠的捐赠者
SELECT dfname, dlname
FROM DONOR
WHERE IN( SELECT * FROM
YEAR)
AND amount != null;
列出居住在乔治亚州或北卡罗来纳州的捐赠者姓名
SELECT dfname, dlname
FROM donor
WHERE state = “GA”
OR state = “NC”;
列出姓氏为 Williams 且居住在乔治亚州雅典的捐赠者的姓名
SELECT dfname, dlname
FROM donor
WHERE dlname = “Williams”
AND city = “Athens”
AND state = “GA”;
我要感谢所有提供帮助的人,我希望我能给每个人一个绿色的复选标记,因为输入的所有答案都提供了解决方案。感谢您的帮助,也许有一天我可以为您将来可能遇到的问题提供帮助。
【问题讨论】:
-
第三个中
AND应该是OR。此外,WHERE子句中的这两个比较应该针对主键而不是dphone。 -
感谢大家的帮助,非常感谢。
标签: sql mysql oracle postgresql erd