Запитання з тегом «join»

Застереження про з'єднання SQL поєднує записи з двох або більше таблиць або представлень.

4
Як приєднатися до двох таблиць, щоб отримати пропущені рядки у другій таблиці
У простій системі голосування як CREATE TABLE elections ( election_id int(11) NOT NULL AUTO_INCREMENT, title varchar(255), CREATE TABLE votes ( election_id int(11), user_id int(11), FOREIGN KEYs для отримання списку виборів, за який користувач проголосував, використовується наступне ПРИЄДНАННЯ SELECT * FROM elections JOIN votes USING(election_id) WHERE votes.user_id='x' але як отримати список …
21 join  select 

3
Ім'я стовпця, що називає конвенції та кращі практики
Я хотів би отримати деяку експертну думку щодо найкращих практик щодо імен стовпців . Фоном є те, що згідно Вікіпедії , наступний синтаксис, SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID); є більш ефективним, ніж SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID); Однак JOIN ... USINGсинтаксис, який …

3
Розщеплення SQL запиту з багатьма об'єднаннями на менші допомагає?
Нам потрібно щовечора робити звітність на нашому SQL Server 2008 R2. Розрахунок звітів займає кілька годин. Щоб скоротити час, ми попередньо підраховуємо таблицю. Ця таблиця створена на основі СПІЛКУВАННЯ 12 досить великих (десятки мільйонів рядів) таблиць. Розрахунок цієї таблиці агрегації займав до декількох днів тому, приблизно, 4 години. Наша DBA, …

2
Приєднання SQL Server / де замовлення на обробку
Прочитавши Slow SQL-запит, не знаючи, як оптимізувати , це змусило мене замислитися про загальну ефективність запитів. Безумовно, нам потрібні результати першої таблиці (коли об’єднуються інші таблиці) перед тим, як приєднатися (внутрішні приєднання до цього питання), щоб вони були максимально дрібними, щоб зробити наші запити, які крихітні трохи, швидше. Приклад, якщо …

1
Іменування конфлікту між параметром функції та результатом JOIN із пунктом USING
Враховуючи цю установку в поточному Postgres 9.4 ( з цього пов'язаного питання ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Також є SQL Fiddle з попереднього питання. …

3
Що є більш ефективним, пункт де або з'єднання з мільйонами плюс таблиці рядків?
Ми запускаємо веб-сайт, який містить 250 рядків в одній таблиці, а в іншій таблиці, до якої ми приєднуємось для більшості запитів, має трохи менше 15 ММ рядків. Зразки структур: MasterTable (Id, UserId, Created, Updated...) -- 15MM Rows DetailsTable (Id, MasterId, SomeColumn...) -- 250MM Rows UserTable (Id, Role, Created, UserName...) -- …

1
Чому підзапит використовує паралелізм, а приєднання не робить?
Чому SQL-сервер використовує паралелізм під час запуску цього запиту, який використовує підзапит, але він не застосовується при використанні приєднання? Версія для з'єднання працює серійно і займає приблизно 30 разів більше часу. Версія для приєднання: ~ 30 сек Версія підпиту: <1 секунда EDIT: Xml версії плану запитів: ПРИЄДНАЙТЕ версію СУБКВЕРСЬКА версія

2
Індекс первинного ключа, який не використовується в простому з'єднанні
У мене є такі визначення таблиці та індексу: CREATE TABLE munkalap ( munkalap_id serial PRIMARY KEY, ... ); CREATE TABLE munkalap_lepes ( munkalap_lepes_id serial PRIMARY KEY, munkalap_id integer REFERENCES munkalap (munkalap_id), ... ); CREATE INDEX idx_munkalap_lepes_munkalap_id ON munkalap_lepes (munkalap_id); Чому жоден з індексів munkalap_id не використовується в наступному запиті? EXPLAIN …

2
Своєрідний випадок синтаксису зовнішнього з'єднання Oracle
У запиті, який повинен був бути перенесений із синтаксису зовнішнього приєднання Oracle до синтаксису зовнішнього приєднання SQL, я бачив наступне: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+) AND B.B_KEY …
16 oracle  join  syntax 

2
PostgreSQL приєднання за допомогою JSONB
У мене є цей SQL: CREATE TABLE test(id SERIAL PRIMARY KEY, data JSONB); INSERT INTO test(data) VALUES ('{"parent":null,"children":[2,3]}'), ('{"parent":1, "children":[4,5]}'), ('{"parent":1, "children":[]}'), ('{"parent":2, "children":[]}'), ('{"parent":2, "children":[]}'); Це дало б: id | data ----+-------------------------------------- 1 | {"parent": null, "children": [2, 3]} 2 | {"parent": 1, "children": [4, 5]} 3 | {"parent": …

4
Рекурсивна самодіяльність приєднується
У мене є commentsтаблиця, яку можна спростити до цього: comments ======= id user_id text parent_id де parent_idє нульовим, але може бути ключовим для коментаря батьків. Тепер, як я можу selectвсі нащадки конкретного коментаря? Коментарі можуть бути на кілька рівнів нижче ...

1
Зняти рядки, на які не посилається інша таблиця
У базі даних PostgreSQL 9.3 у мене дві таблиці: Таблиця link_replyмає зовнішній ключ, названий which_groupвказівкою на таблицю link_group. Я хочу видалити всі рядки з того місця, link_groupде не link_replyіснує жодного пов'язаного рядка . Звучить досить просто, але я з цим боровся. Це буде щось просте на кшталт цього (не працює)? …

4
Чи оптимізовано приєднання до пункту де під час виконання?
Коли я пишу такий запит ... select * from table1 t1 join table2 t2 on t1.id = t2.id Чи оптимізатор SQL, не впевнений, що це правильний термін, переводить це на ... select * from table1 t1, table2 t2 where t1.id = t2.id По суті, чи є оператор Join в SQL …

5
Узгодження одного стовпця проти кількох значень без самоз'єднання таблиці в MySQL
У нас є таблиця, яку ми використовуємо для зберігання відповідей на запитання. Нам потрібно вміти знайти користувачів, які мають певні відповіді на конкретні запитання. Отже, якщо наша таблиця складається з таких даних: user_id question_id answer_value Sally 1 Pooch Sally 2 Peach John 1 Pooch John 2 Duke і ми хочемо …

1
Чому PostgreSQL вибирає дорожче замовлення на приєднання?
PostgreSQL з використанням за замовчуванням плюс default_statistics_target=1000 random_page_cost=1.5 Версія PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Я пилососив і аналізував. Запит дуже простий: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s ON …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.