Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 вопрос по джойнам  [new]
rezborezka
Member

Откуда:
Сообщений: 1
Скорее всего, все сталкивались со стандартной схемой hr в БД оракл. Так вот, есть вопрос:

Вывести вывести фио, название должности, дату трудоустройства, зп используя таблицы employess, jobs, departments.
Где департамент 60 и зп меньше или больше, чем минимальная и максимальная зп по должности, либо ЗП не указана(нулл).

Пишу запрос
select e.department_id,e.first_name, e.last_name, e.salary, e.hire_date, j.JOB_TITLE
from employees e, jobs j, departments d
where e.JOB_ID = j.JOB_ID
AND e.DEPARTMENT_ID = d.DEPARTMENT_ID
AND e.DEPARTMENT_ID = 60
AND (e.SALARY<j.MIN_SALARY
OR e.salary>j.MAX_SALARY OR e.SALARY is NULL )
Вопрос почему в самом конце необходимо использовать скобки? Без скобок при указании в конце OR e.SALARY is NULL оракл выдаёт какую-то ахинею, декартово перемножает всех сотрудников из табл. employees из разных отделов со всеми возможными job_title из таблицы jobs. Можете дать подсказку для понимания как из общего множества после всех джойнов вывести правильные условия where
15 янв 19, 17:52    [21786007]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по джойнам  [new]
-2-
Member

Откуда:
Сообщений: 15330
rezborezka,

Арифметику, третий класс, уже проходили?
15 янв 19, 18:05    [21786025]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по джойнам  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2781
rezborezka,

у and приоритет больше чем у or

аля
"Вопрос почему в самом конце необходимо использовать скобки? "
7*(2+1)=7*10=70 и 7*2+1=14+1=15


* - and
+ - or
.....
stax
15 янв 19, 18:15    [21786035]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по джойнам  [new]
DВА
Member

Откуда:
Сообщений: 5439
чудеса )
чел знает фразу "декартово перемножает" , но представления не имеет о порядке операций
15 янв 19, 18:37    [21786054]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по джойнам  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2781
Stax
7*(2+1)=7*10=70
.....
stax


перемножил
7*(2+1)=7*3=21

.....
stax
16 янв 19, 09:30    [21786408]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить