From 46a366c07a5fe579ae23b9cfac39c32ec69280ee Mon Sep 17 00:00:00 2001 From: Bonifatsiy Date: Thu, 30 Apr 2026 23:59:43 +0400 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=D1=85=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clickhouse/Homework/Запросы - JOIN.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dsolovianov/clickhouse/Homework/Запросы - JOIN.sql b/dsolovianov/clickhouse/Homework/Запросы - JOIN.sql index 29496d9..6d6edfa 100644 --- a/dsolovianov/clickhouse/Homework/Запросы - JOIN.sql +++ b/dsolovianov/clickhouse/Homework/Запросы - JOIN.sql @@ -4,7 +4,7 @@ DROP TABLE IF EXISTS dsolovianov.products ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.prices ON CLUSTER clickhouse_cluster SYNC; -CREATE TABLE products +CREATE TABLE dsolovianov.products ON CLUSTER clickhouse_cluster ( product_id UInt32, @@ -16,12 +16,12 @@ ON CLUSTER clickhouse_cluster ORDER BY product_id; -INSERT INTO products VALUES +INSERT INTO dsolovianov.products VALUES (101, 'iPhone 14'), (102, 'Galaxy S22'), (103, 'Pixel 7'); -CREATE TABLE prices +CREATE TABLE dsolovianov.prices ON CLUSTER clickhouse_cluster ( product_id UInt32, @@ -33,7 +33,7 @@ ON CLUSTER clickhouse_cluster ) ORDER BY product_id; -INSERT INTO prices VALUES +INSERT INTO dsolovianov.prices VALUES (101, 999, 'US'), (101, 1049, 'EU'), (102, 850, 'US'), @@ -48,8 +48,8 @@ SELECT p.name, pr.price, pr.region -FROM products AS p -ANY LEFT JOIN prices AS pr ON p.product_id = pr.product_id; +FROM dsolovianov.products AS p +ANY LEFT JOIN dsolovianov.prices AS pr ON p.product_id = pr.product_id; --№2 Что будет, если в таблице `prices` несколько цен на один `product_id`? @@ -62,8 +62,8 @@ SELECT p.name, pr.price, pr.region -FROM products AS p -ALL LEFT JOIN prices AS pr ON p.product_id = pr.product_id; +FROM dsolovianov.products AS p +ALL LEFT JOIN dsolovianov.prices AS pr ON p.product_id = pr.product_id; /* `ALL LEFT JOIN` в Clickhouse ведет себя также, как LEFT JOIN в SQL, то есть собирает все совпадения. Начинается перегон данных между таблицами. Из-за этого растет нагрузка на ОЗУ и CPU.