关于查询的意见

Moh*_*kim 1 mysql sql-server

如果我有这个架构:

Doctor(license_no, doctor_name, specialty)

Patient(pat_id, pat_name, pat_address, pat_phone, date_of_birth)

Visit(license_no, pat_id, date, type, diagnosis, charge)   
Run Code Online (Sandbox Code Playgroud)

而且我想获得Davy Jones博士获得的金额,以下查询在逻辑上是正确的吗?NB它在SQL中运行

SELECT SUM(charge)
FROM   Visit v INNER JOIN Doctor d
ON  (d.licence_no = v.licence_no AND doctor_name = 'davy jones') 
Run Code Online (Sandbox Code Playgroud)

Joe*_*lli 5

我写的略有不同,以解释戴维琼斯没有患病的情况.

SELECT SUM(v.charge)
    FROM Doctor d
        LEFT JOIN Visit v
            ON d.license_no = v.license_no
    WHERE d.doctor_name = 'davy jones';
Run Code Online (Sandbox Code Playgroud)