2016-12-17 2 views
-3

Я использую oracle plsql, и у меня есть вопрос. У меня есть таблица испытаний и таблицы школ. Это не проблема, проблема в том, что я не знаю, как создать запрос, который вернет мне null, если что-то не существует. Например, я хочу, чтобы в школах был математический тест, и если в школе его нет, он вернет null. Спасибо вам всем!Как вернуть null, если не существует

+2

Вы пробовали что-то еще? Простой 'LEFT JOIN', вероятно, сделает то, что вы хотите. –

+0

У меня нет примера. Просто идея. Есть ли у вас какие-либо экзамены для этого левого объединения или что-то еще? – PythIsReal

+0

«Левое соединение» на самом деле является «левым соединением OUTER», важным отличием здесь является INNER JOIN и OUTER JOIN. Удачи. –

ответ

0

Может быть что-то вроде этого:

школы стол

create table schools (name varchar(20)); 

insert into schools values ('Harvard'); 
insert into schools values ('Oxford'); 
insert into schools values ('Cambridge'); 

тесты стол

create table tests (name varchar(20), school varchar(20)); 

insert into tests values ('Math', 'Harvard'); 
insert into tests values ('Math', 'Oxford'); 

левый присоединиться

select 
    s.name, 
    t.name 
from 
    schools s 
left join 
    tests t on t.school = s.name; 

Выход

|  name | name | 
|-----------|--------| 
| Harvard | Math | 
| Oxford | Math | 
| Cambridge | (null) | 
Смежные вопросы