Вопросы с тегом «subquery»

Термин SQL, используемый для описания того, когда оператор SELECT используется как часть более крупного оператора SQL. Более крупный оператор может быть DML и всегда находится в квадратных или круглых скобках.

37
Почему этот запрос работает?

У меня есть две таблицы, table_a (идентификатор, имя) и table_b (идентификатор), скажем, на Oracle 12c. Почему этот запрос не возвращает исключение? select * from table_a where name in (select name from table_b); Из того, что я понимаю, Oracle видит это как select * from table_a where name = name;...

23
Псевдонимы подзапросов совпадают с псевдонимами основных запросов

У меня есть SQL-запрос, псевдонимы которого совпадают с псевдонимами некоторых его подзапросов. Например: select * from ROOM r where ... ( select * from ROAD r where ... ) Это прекрасно работает, так как псевдоним подзапроса, кажется, скрывает основной. Будет ли это работать так во всех случаях?...

18
ВЫБОР нескольких столбцов через подзапрос

Я пытаюсь выбрать 2 столбца из подзапроса в следующем запросе, но не могу это сделать. Попытался создать таблицу псевдонимов, но все еще не мог получить их. SELECT DISTINCT petid, userid, (SELECT MAX(comDate) FROM comments WHERE petid=pet.id) AS lastComDate, (SELECT userid FROM comments WHERE...

16
Почему подзапрос использует параллелизм, а объединение - нет?

Почему сервер SQL использует параллелизм при выполнении этого запроса, который использует подзапрос, но не при использовании соединения? Объединенная версия запускается последовательно и занимает около 30 раз больше времени. Регистрация версии: ~ 30 сек Версия подзапроса: <1секунда...

16
Медленное обновление на большой таблице с подзапросом

Имея SourceTableзаписи> 15MM и записи Bad_Phrase> 3K, для выполнения следующего запроса на SQL Server 2005 SP4 требуется почти 10 часов. UPDATE [SourceTable] SET Bad_Count= ( SELECT COUNT(*) FROM Bad_Phrase WHERE [SourceTable].Name like '%'+Bad_Phrase.PHRASE+'%' ) В английском языке этот...

16
Ошибка Postgres [столбец должен появляться в предложении GROUP BY или использоваться в статистической функции] при использовании подзапроса

У меня есть две таблицы employeeи phones. Сотрудник может иметь от 0 до n телефонных номеров. Я хочу перечислить имена сотрудников с их номерами телефонов. Я использую запрос ниже, который работает нормально. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones...

15
Плохо выполняющий подзапрос с датами сравнения

При использовании подзапроса для поиска общего количества всех предыдущих записей с совпадающим полем, производительность ужасна для таблицы с всего лишь 50 тыс. Записей. Без подзапроса запрос выполняется за несколько миллисекунд. С подзапросом время выполнения превышает одну минуту. Для этого...

15
Как SQL Удалить, используя подзапрос

Следующий код был добавлен одним из наших разработчиков для удаления дублирующихся записей из таблицы: DELETE SubQuery FROM ( SELECT ID ,FK1 ,FK2 ,CreatedDateTime ,ROW_NUMBER() OVER(PARTITION BY FK1, FK2 ORDER BY CreatedDateTime) AS RowNumber FROM Table ) AS SubQuery WHERE RowNumber > 1 При...

10
Почему мой запрос к SQL Server ведет себя иначе при обновлении, чем при SELECT?

Я написал запрос SQL Server, который обновляет записи, чтобы иметь последовательный номер после разделения на поле. Когда я запускаю его как оператор SELECT, все выглядит великолепно: DECLARE @RunDetailID INT = 448 DECLARE @JobDetailID INT SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE...

10
Запрос PostgreSQL очень медленный при добавлении подзапроса

У меня есть относительно простой запрос к таблице с 1,5M строк: SELECT mtid FROM publication WHERE mtid IN (9762715) OR last_modifier=21321 LIMIT 5000; EXPLAIN ANALYZE вывод: Limit (cost=8.84..12.86 rows=1 width=8) (actual time=0.985..0.986 rows=1 loops=1) -> Bitmap Heap Scan on publication...

10
SQLITE: проблема тегов и продуктов

Я ищу способ создать запрос, чтобы сделать следующее: Давайте рассмотрим 3 таблицы: продукты: Список продуктов теги: список тегов tag_ties: таблица, используемая для привязки тега к товару Давайте рассмотрим эту структуру для каждой таблицы: Товары: id (int, автоинкремент) название (varchar,...

9
MySQL: оптимизируйте UNION с помощью «ORDER BY» во внутренних запросах

Я просто настроил систему регистрации, которая состоит из нескольких таблиц с одинаковым расположением. Существует одна таблица для каждого источника данных. Для просмотра журнала я хочу UNION все журнальные таблицы , фильтровать их по аккаунту , добавить псевдостолбец для идентификации источника,...

8
Проверьте, есть ли какое-либо из значений в результате подзапроса

У меня сложный подзапрос, который возвращает список идентификаторов заказа. Мне нужно получить список клиентов, у которых есть эти заказы. Проблема заключается в том, что существует два способа назначения клиента для заказа (одно из двух полей). Я мог бы просто сделать что-то вроде этого: select *...

8
Как я могу получить иерархические значения из запроса ниже?

У меня есть таблица с именем Categoryстолбца CategoryID. В той же таблице есть столбец ссылок fParentCategoryID. Мне нужно, чтобы все идентификаторы категорий и идентификаторы их подкатегорий были разделены запятой. Например: если ID родительской категории 10 равен 1, а ID родительской категории 20...

8
Оптимизировать выбор подзапроса с помощью COALESCE (…)

У меня есть большое представление, которое я использую из приложения. Я думаю, что сузил свою проблему с производительностью, но я не уверен, как ее исправить. Упрощенная версия представления выглядит так: SELECT ISNULL(SEId + '-' + PEId, '0-0') AS Id, *, DATEADD(minute, Duration, EventTime) AS...

8
MySQL подзапрос резко замедляется, но они работают нормально независимо

Запрос 1: select distinct email from mybigtable where account_id=345 занимает 0,1 с Запрос 2: Select count(*) as total from mybigtable where account_id=123 and email IN (<include all from above result>) занимает 0,2 с Запрос 3: Select count(*) as total from mybigtable where account_id=123 and...