Вопросы с тегом «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 для получения списка выборов, за которые проголосовал пользователь, используется следующий JOIN 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. Расчет отчетов занимает несколько часов. Чтобы сократить время, мы пересчитываем таблицу. Эта таблица создана на основе JOINining 12 довольно больших (десятки миллионов строк) таблиц. Расчет этой таблицы агрегации занял несколько дней назад около 4 часов. Наш администратор баз …

2
SQL Server Join / где порядок обработки
После прочтения запроса 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
Что является более эффективным, предложение where или объединение с миллионами таблиц строк?
У нас есть веб-сайт с 250-миллиметровыми строками в одной таблице, а в другой, к которой мы присоединяемся, для большинства запросов чуть менее 15-миллиметровых строк. Примерные структуры: MasterTable (Id, UserId, Created, Updated...) -- 15MM Rows DetailsTable (Id, MasterId, SomeColumn...) -- 250MM Rows UserTable (Id, Role, Created, UserName...) -- 12K Rows Нам …

1
Почему подзапрос использует параллелизм, а объединение - нет?
Почему сервер SQL использует параллелизм при выполнении этого запроса, который использует подзапрос, но не при использовании соединения? Объединенная версия запускается последовательно и занимает около 30 раз больше времени. Регистрация версии: ~ 30 сек Версия подзапроса: <1секунда РЕДАКТИРОВАТЬ: XML-версии плана запроса: JOIN версия Версия SUBQUERY

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 не используется в следующем запросе? …

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 …
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. Звучит достаточно просто, но я боролся с этим. Будет ли что-то простое, как это (не работает)? DELETE FROM link_group WHERE …

4
Оптимизировано ли соединение для предложения where во время выполнения?
Когда я пишу запрос, как это ... 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 …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.