Size: a a a

pgsql – PostgreSQL

2020 August 20

kp

kirill pekov in pgsql – PostgreSQL
Спасибо сейчас погуглю на эти темы)
источник

2_

2flower _ in pgsql – PostgreSQL
а лучше сделать через exists
источник

N

Nikolay in pgsql – PostgreSQL
> Вложенные запросы нет возможности использовать.

тогда увы. К сожалению, anti-join-ам не нашлось место в sql standard, и синтаксисе постгреса в том числе
источник

s

suchimauz in pgsql – PostgreSQL
kirill pekov
(Не знаю как проще объяснить)
Вложенные запросы нет возможности использовать.

Таблицы А и В связаны, по полям A.id и B.cell_id, мне нужно получить все записи из таблицы А, но только те, которых нет в таблице B.

Могу использовать только join'ы и where😔
Почему нельзя сабселект?
источник

2_

2flower _ in pgsql – PostgreSQL
select ... from a where not exists (select from b where a.id=b.id)
источник

s

suchimauz in pgsql – PostgreSQL
Через not in можно было
источник

kp

kirill pekov in pgsql – PostgreSQL
2flower _
объединение и join это разное, вы разберитесь что вы хотите
А что это такое если не объединение?😊
источник

2_

2flower _ in pgsql – PostgreSQL
suchimauz
Почему нельзя сабселект?
скорее всего задача тестовая
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nikolay
это называется anti-join, в 8.4 был соптимизирован 🙂 делается с помощью NOT IN
источник

2_

2flower _ in pgsql – PostgreSQL
kirill pekov
А что это такое если не объединение?😊
объединение это union :)
источник

kp

kirill pekov in pgsql – PostgreSQL
2flower _
select ... from a where not exists (select from b where a.id=b.id)
Да запросы просто фреймворком формируются
источник

N

Nikolay in pgsql – PostgreSQL
2flower _
а лучше сделать через exists
источник

N

Nikolay in pgsql – PostgreSQL
если фреймворк не поддерживает подзапросы — будет много сложностей, лучше или расширить фреймворк, или сменить
источник

N

Nikolay in pgsql – PostgreSQL
или воспользоваться ->query(..) или как там оно в этом фреймворке, чтобы гонять произвольный SQL
источник

s

suchimauz in pgsql – PostgreSQL
Select A.*
From a
Left join b
On a.id = b.some_id
Where b.id is null

🤣
источник

kp

kirill pekov in pgsql – PostgreSQL
suchimauz
Select A.*
From a
Left join b
On a.id = b.some_id
Where b.id is null

🤣
неплохо😅
источник

2_

2flower _ in pgsql – PostgreSQL
я не думаю, что такое понравится оптимизатору
в реальных запросах
источник

s

suchimauz in pgsql – PostgreSQL
А какие варианты через join без сабселекта ты видишь?)
источник

s

suchimauz in pgsql – PostgreSQL
В реальных запросах это решается через сабселект
источник

2_

2flower _ in pgsql – PostgreSQL
я выше написал, для таких задач есть exists
источник