Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Schreiben Sie die SQL-Abfrage, um Studenten zu finden, die für Einheiten eingeschrieben sind, die an einem Standort angeboten werden?

Computer sind extrem präzise. Sie führen den Code genau so aus, wie Sie ihn schreiben. Ihre Abfrage hat diese WHERE-Klausel:

location like '%burwood%'

Aber wenn Sie sich die Daten in course genau ansehen Sie werden den Wert in location erkennen ist Burwood . 'Burwood' ist nicht gleich 'burwood' aufgrund dieses Unterschieds im Fall des führenden Buchstabens.

Sie hätten Ergebnisse erhalten, wenn Sie Ihre WHERE-Klausel wie folgt geschrieben hätten:

location like '%urwood%'

Es ist jedoch immer besser, mit einem Gleichheitsfilter zu filtern:

 select s1.student_id
        , s1.student_fname
        , s1.student_fname
        , c.course
 from course c
      join student2 s2 on s2.course_id = c.course_id
      join student1 s1 on s1.student_id = s2.student_id
 where c.location = 'Burwood';