mysql - 如何将 JOIN SQL 查询转换为关系代数?

标签 mysql relational-algebra

嗨,我希望得到帮助来解决一个非常烦人的问题。 我一直在思考这个问题,但我真的很难将这个 SQL 查询转换为其等效的关系代数查询。

查询:

SELECT
staff.STF_FirstNames AS `Doctor First Name`,
staff.STF_LastName AS `Doctor Last Name`,

patient.PAT_FirstNames AS `Patient First Name`,
patient.PAT_LastName AS `Patient Last Name`,

patient_makes_appointment.APP_DateTime AS `Appointment Time`

FROM staff
JOIN doctor                     ON staff.STF_ID = doctor.STF_ID
JOIN patient                    ON doctor.DOC_ID = patient.DOC_ID
JOIN patient_makes_appointment  ON patient.PAT_ID = patient_makes_appointment.PAT_ID

我对关系代数的基础知识很了解,但我很难了解如何用条件表示多个连接。

非常感谢任何建议,谢谢:)

最佳答案

也许你需要一些看起来像:

SELECT
  staff.STF_FirstNames AS `Doctor First Name`,
  staff.STF_LastName AS `Doctor Last Name`,

  patient.PAT_FirstNames AS `Patient First Name`,
  patient.PAT_LastName AS `Patient Last Name`,

  patient_makes_appointment.APP_DateTime AS `Appointment Time`

FROM staff, doctor, patient, patient_makes_appointment
WHERE staff.STF_ID = doctor.STF_ID 
  AND doctor.DOC_ID = patient.DOC_ID
  AND patient.PAT_ID = patient_makes_appointment.PAT_ID

关于mysql - 如何将 JOIN SQL 查询转换为关系代数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28277307/

相关文章:

php - 通过内连接查找前 3 个值

mysql - php mb_detect_encoding 在 mysql 中等效

relational-algebra - 如何找到为 30 岁以上的人所吃的所有披萨提供服务的所有披萨店?

mysql - 我怎样才能做这个关系划分查询?

mysql - 如何从 MySQL 中的 JSON 对象将键和值存储在表中

mysql - SQL 查询第 n 个最新更新

mysql - 如何自动初始化mysql中的时间戳列

database - 合并关系代数中的单字段表

database - 如何建模或查询关系代数中不存在的东西

SQL 到关系代数