Sql selects null and nonzero values โ€‹โ€‹in a WHERE clause

I'm trying to run a query that selects values โ€‹โ€‹from a table using the WHERE clause, the query returns only rows in which all conditions have values, hoe do I return values โ€‹โ€‹that are also null?

     Language Table                            Students Table
 ID    Language                        ID      Student      LanguageID
  1     English                         1        Joe
  2     Spanish                         2        Mike          1

Running a request, for example

Select student.ID , Student.Student , Language.language 
FROM 
    Students, Language 
WHERE 
    student.LanguageID = Language.id 

The query returns only one row for a student microphone. I would like to return all students, even if the language parameter is zero.

+3
source share
4 answers

You want something like this:

select
  student.id, student.student, language.language
from
  student left join language
      on student.languageid = language.languageid
+4
source

. ISO JOIN LEFT OUTER JOIN ( Left Join):

Select Student.Id, Student.Student. Language.Language
From Students 
    Left Join Language
        On Language.Id = Student.LanguageId

, , .

+3

It looks like you need an external connection: http://en.wikipedia.org/wiki/Join_%28SQL%29#Outer_joins

+1
source

WHERE student.LanguageID = Language.id OR student.LanguageID IS NULL

+1
source

Source: https://habr.com/ru/post/1751974/


All Articles