Обновить
0
0

Пользователь

Отправить сообщение

Чет я не понял, всё что нужно есть ноутах (в том же вскоде), да и удобства космические

ПС. потому что условие "e.salary > ..." выглядит единым логическим блоком (зарплата выше средней по айти). ппс. я для примера сократил вложенный(сам запрос получился не корректным, уже не могу поправить, но главное - суть)

т.е. блок join понятен логически, что за ним будет таблица и связь и логический блок=строка воспринимается естественно, единым целым, а если блок бить на подблоки, то это уже иерархическая структура слишком ветвистая, мозгу сложнее дробить и воспринимать. Иначе говоря, весь блок join выглядит воспринимаемым за один раз, поэтому дробить его не вижу смысла.

Итак, цель - равномерность, понятность, блочность

select
  e.first_name,
  e.last_name,
  e.salary,
  d.name department_name,
  j.name job_name
from
  employee e
  join departments d on d.id = e.dept_id
  join jobs j on j.id = e.job_id
where
  d.name = 'IT' and
  j.name = 'Engineer' and
  e.salary > 100;

Но, если строка в селекте или другом блоке достаточно короткая, то ее помещаем в право, например

select e.first_name, e.last_name, e.salary, d.name department_name
from
  employee e
  join departments d on d.id = e.dept_id
  join jobs j on j.id = e.job_id
where
  d.name = 'IT' and
  j.name = 'Engineer' and
  e.salary > 100;

или так, не принципиально

select
  e.first_name, e.last_name, e.salary, d.name department_name
from
  employee e
  join departments d on d.id = e.dept_id
  join jobs j on j.id = e.job_id
where
  d.name = 'IT' and
  j.name = 'Engineer' and
  e.salary > 100;

Или с вложенными, когда вложенный короткий проще в строку его взять

select
  e.first_name, e.last_name, e.salary, d.name department_name
from
  employee e
  join departments d on d.id = e.dept_id
  join jobs j on j.id = e.job_id
where
  d.name = 'IT' and
  j.name = 'Engineer' and
  e.salary > (select avg(se.salary) from employee where d.name = 'IT');
  1. Служебные слова выделяются цветом и так, а верхний регистр напрягает глаза(субъективно).

  2. В разбиении секции join на несколько строк тоже не видно необходимости, т.к. есть тоже цветовое разделение. При таких частых переносах где только можно текст превращается в простыню, которую не видно и листать приходится.

  3. В целом код должен быть легко читаемым на логическом уровне с равномерным заполнением по горизонтали и вертикали(гармония)

Концовка понравилась! Жизнь на кайфе -> вовлеченность и заинтересованность -> взаимовыгодный результат.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность