Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как правильно переписать запрос на join'ы / 14 сообщений из 14, страница 1 из 1
13.11.2019, 18:59
    #39888771
nc1318
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
select *
from employees e
where e.job_id in (select job_id from jobs where job_title like 'Stock Clerk')
and e.salary < 3500
and (e.hire_date is not null
and e.department_id not in (select department_id from departments where department_id = 100 or department_id = 90))
order by e.employee_id
...
Рейтинг: 0 / 0
13.11.2019, 19:28
    #39888784
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
В общем случае - никак. Нужно знание особенностей конкретных таблиц.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.11.2019, 19:52
    #39888790
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
nc1318,

зачем?
...
Рейтинг: 0 / 0
13.11.2019, 20:15
    #39888797
nc1318
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
-2-,

Ради интереса
экспериментирую можно сказать
...
Рейтинг: 0 / 0
13.11.2019, 20:49
    #39888804
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
Dimitry Sibiryakov

В общем случае - никак.
И даже сможешь привести пример когда ansi/semi невозможно переписать на явные соединения?
Dimitry Sibiryakov

Нужно знание особенностей конкретных таблиц.
Всё что надо знать - это уникальность job_id в таблице jobs.
В зависимости от этого может понадобится единожды использовать дистинкт.
...
Рейтинг: 0 / 0
13.11.2019, 21:38
    #39888817
nc1318
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
.
...
Рейтинг: 0 / 0
13.11.2019, 21:46
    #39888819
nc1318
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
Кобанчег,

Допустим, что он уникальный
...
Рейтинг: 0 / 0
14.11.2019, 07:01
    #39888879
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
nc1318
Ради интереса
Ради интереса эксперименитруют самостоятельно. Наблюдать, что кто-то сделает это заместо тебя - вуайеризм.
Кобанчег
Всё что надо знать - это уникальность job_id в таблице jobs.
В зависимости от этого может понадобится единожды использовать дистинкт.
В запросе есть еще departments, а с ним в общем случае (без where department_id= в подзапросе), вопрос не только с уникальностью.
...
Рейтинг: 0 / 0
14.11.2019, 09:41
    #39888913
IgorSm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
Эта строка, если она не отладочная, то совсем не понятна
Код: plsql
1.
and e.department_id not in (select department_id from departments where department_id = 100 or department_id = 90))


Почему не просто IN (80,90)
...
Рейтинг: 0 / 0
14.11.2019, 09:42
    #39888914
IgorSm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
Sorry
IN (90,100)
...
Рейтинг: 0 / 0
14.11.2019, 09:43
    #39888917
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
IgorSm,

потому что это будет другое условие
...
Рейтинг: 0 / 0
14.11.2019, 09:49
    #39888919
IgorSm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
123йй,

Мдя там же NOT IN (, надо больше спать (

Все предыдущие комментарии прошу считать некорректными
...
Рейтинг: 0 / 0
14.11.2019, 10:14
    #39888925
Dshedoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
Код: plsql
1.
2.
3.
4.
5.
6.
select *
from employees e
join jobs j on e.job_id = j.job_id and j.job_title like 'Stock Clerk' --если job_id уникальный для jobs
left join departments d on e.department_id = d.department_id and (department_id = 100 or department_id = 90)
where e.salary < 3500 and e.hire_date is not null and d.department_id is null
order by e.employee_id 
...
Рейтинг: 0 / 0
15.11.2019, 11:25
    #39889442
nc1318
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно переписать запрос на join'ы
-2-,

а кто сказал, что я не сделал самостоятельно?
просто хочу посмотреть другие варианты реализации
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как правильно переписать запрос на join'ы / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]