Pytania otagowane jako subquery

Termin SQL używany do opisania, kiedy instrukcja „SELECT” jest używana jako część większej instrukcji SQL. Większa instrukcja może być DML i zawsze znajduje się w nawiasach kwadratowych lub w nawiasach.

3
Dlaczego to zapytanie działa?
Mam dwie tabele, table_a (id, name) i table_b (id), powiedzmy na Oracle 12c. Dlaczego to zapytanie nie zwraca wyjątku? select * from table_a where name in (select name from table_b); Z tego, co rozumiem, Oracle postrzega to jako select * from table_a where name = name; Ale nie rozumiem, dlaczego?

7
Uzyskaj wiele kolumn z wybranego podzapytania
SELECT *, p.name AS name, p.image, p.price, ( SELECT ps.price FROM product_special ps WHERE p.id = ps.id AND ps.date < NOW() ORDER BY ps.priority ASC, LIMIT 1 ) AS special_price, ( SELECT ps.date FROM product_special ps WHERE p.id = ps.id AND ps.date < NOW() ORDER BY ps.priority ASC, LIMIT 1 …
24 subquery 

2
Aliasy zapytań takie same jak aliasy głównych zapytań
Mam zapytanie SQL, którego aliasy są takie same jak niektóre aliasy jego podzapytania. Na przykład: select * from ROOM r where ... ( select * from ROAD r where ... ) Działa to dobrze, ponieważ alias podzapytania wydaje się ukrywać główny. Czy to zadziała we wszystkich przypadkach? Czy kiedykolwiek uzyskam …

2
WYBIERANIE wielu kolumn za pomocą podzapytania
Próbuję wybrać 2 kolumny z podzapytania w następującym zapytaniu, ale nie mogę tego zrobić. Próbowałem utworzyć tabelę aliasów, ale nadal nie mogłem ich zdobyć. SELECT DISTINCT petid, userid, (SELECT MAX(comDate) FROM comments WHERE petid=pet.id) AS lastComDate, (SELECT userid FROM comments WHERE petid=pet.id ORDER BY id DESC LIMIT 1) AS lastPosterID …

1
Błąd Postgres [kolumna musi pojawić się w klauzuli GROUP BY lub zostać użyta w funkcji agregującej], gdy używane jest zapytanie podrzędne
Mam dwa stoliki employeei phones. Pracownik może mieć od 0 do n numerów telefonów. Chcę wymienić nazwiska pracowników wraz z ich numerami telefonów. Korzystam z poniższego zapytania, które działa poprawnie. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones ON employee.empid = phones.empid GROUP BY employee.empid Tabela pracowników może …

3
Powolna aktualizacja na dużym stole z podzapytaniem
Dzięki SourceTableposiadaniu> 15 MM rekordów i Bad_Phrase> 3K rekordów uruchomienie następującego zapytania w programie SQL Server 2005 SP4 zajmuje prawie 10 godzin. UPDATE [SourceTable] SET Bad_Count= ( SELECT COUNT(*) FROM Bad_Phrase WHERE [SourceTable].Name like '%'+Bad_Phrase.PHRASE+'%' ) W języku angielskim to zapytanie liczy liczbę odrębnych fraz wymienionych w Bad_Phrase, które są …

1
Dlaczego podzapytanie używa równoległości, a sprzężenie nie?
Dlaczego serwer SQL korzysta z równoległości podczas uruchamiania tego zapytania, które korzysta z podzapytania, ale nie korzysta z łączenia? Wersja dołączenia działa szeregowo i jej ukończenie zajmuje około 30 razy. Dołącz do wersji: ~ 30secs Wersja podzapytania: <1 sekunda EDYCJA: Xml wersje planu zapytań: DOŁĄCZ wersja Wersja SUBQUERY

1
Słabo wydajne podzapytanie z porównywaniem dat
Podczas korzystania z podzapytania w celu znalezienia całkowitej liczby wszystkich poprzednich rekordów z pasującym polem wydajność jest okropna na stole z zaledwie 50 000 rekordów. Bez podzapytania zapytanie jest wykonywane w ciągu kilku milisekund. W przypadku podzapytania czas wykonania jest wyższy niż minuta. W przypadku tego zapytania wynik musi: Uwzględnij …

2
Jak można usunąć SQL za pomocą zapytania podrzędnego
Jeden z naszych programistów dodał następujący kod, aby usunąć zduplikowane rekordy z tabeli: 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 Przeglądając kod, założyłem, że nie zadziała, jednak testowanie go …

1
Dlaczego moje zapytanie SQL Server zachowuje się inaczej w przypadku UPDATE niż w SELECT?
Napisałem zapytanie do programu SQL Server, które aktualizuje rekordy, aby miały numer kolejny po podzieleniu na partycje w polu. Po uruchomieniu go jako instrukcji SELECT wszystko wygląda świetnie: DECLARE @RunDetailID INT = 448 DECLARE @JobDetailID INT SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE [RunDetailID] = @RunDetailID SELECT [OrderedRecords].[NewSeq9], RIGHT([OrderedRecords].[NewSeq9], 4) …

3
SQLITE: problem z tagami i produktami
Szukam sposobu na utworzenie zapytania, aby wykonać następujące czynności: Rozważmy 3 tabele: produkty: lista produktów tagi: lista tagów tag_ties: tabela używana do powiązania tagu z produktem Rozważmy tę strukturę dla każdej tabeli: Produkty: id (int, autoinkrement) nazwa (varchar, nazwa produktu) Tagi: id (int autoincrement) etykieta (varchar, etykieta tagu) Tag_ties: id …
10 query  sqlite  subquery 

3
Zapytanie PostgreSQL jest bardzo powolne, gdy dodawane jest zapytanie podrzędne
Mam stosunkowo proste zapytanie dotyczące tabeli z 1,5 mln wierszy: SELECT mtid FROM publication WHERE mtid IN (9762715) OR last_modifier=21321 LIMIT 5000; EXPLAIN ANALYZE wynik: 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 (cost=8.84..12.86 rows=1 width=8) (actual time=0.984..0.985 rows=1 loops=1) Recheck Cond: ((mtid = …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.