Medical Center database
Non primary-foreign key JOINs
Non-equi JOINs
Non-equi self JOINs
Summary
26. Exercise 1

Instruction

Good! How about three exercises for consolidating our knowledge?

Exercise

Show the name of each treatment and the first and last names of the patients to whom it was recommended for all therapies recommended by physicians with the surname Core or Calderwood.

Consider only patients with odd ID numbers.

Stuck? Here's a hint!

To filter patients' IDs by odd numbers, you can of course take a look at the Database to check the ID's manually and use the IN operator in the following manner:

WHERE patient.id IN (1, 3, 5 ... 15)

However, there is also a more concise way to do this. When dividing an odd number by two, the remainder is always 1.

Use the MOD() (modulo) function to find the remainder after division of one number by another. The use of the modulo function in this exercise is as follows:

WHERE MOD(patient.id, 2) = 1

Excited about the MOD() function? You'll find more about it in our Standard SQL Functions course!

Type:

SELECT
  name,
  patient.first_name,
  patient.last_name
FROM therapy
JOIN physician
  ON physician_id = physician.id
JOIN patient
  ON patient_id = patient.id
JOIN treatment
  ON treatment_type = treatment.type
WHERE physician.last_name IN ('Core', 'Calderwood')
  AND MOD(patient.id, 2) = 1

Console

Code editor

Result

TableConsole