SQL-Begriff, der verwendet wird, um zu beschreiben, wann eine SELECT-Anweisung als Teil einer größeren SQL-Anweisung verwendet wird. Die größere Anweisung kann DML sein und steht immer in Klammern oder Klammern.
Ich habe zwei Tabellen, table_a (id, name) und table_b (id), sagen wir auf Oracle 12c. Warum gibt diese Abfrage keine Ausnahme zurück? select * from table_a where name in (select name from table_b); Nach meinem Verständnis sieht Oracle dies als select * from table_a where name = name; Aber was …
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 …
Ich habe eine SQL-Abfrage, deren Aliase mit denen einiger Aliase der Unterabfrage übereinstimmen. Beispielsweise: select * from ROOM r where ... ( select * from ROAD r where ... ) Dies funktioniert einwandfrei, da der Alias der Unterabfrage den Alias der Hauptabfrage zu verbergen scheint. Funktioniert das auf alle Fälle …
Ich versuche, 2 Spalten aus der Unterabfrage in der folgenden Abfrage auszuwählen, kann dies jedoch nicht. Es wurde versucht, eine Alias-Tabelle zu erstellen, sie konnte jedoch nicht abgerufen werden. 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 …
Bei SourceTablemehr als 15 Millionen Einträgen und Bad_Phrasemehr als 3.000 Einträgen dauert die Ausführung der folgenden Abfrage unter SQL Server 2005 SP4 fast 10 Stunden. UPDATE [SourceTable] SET Bad_Count= ( SELECT COUNT(*) FROM Bad_Phrase WHERE [SourceTable].Name like '%'+Bad_Phrase.PHRASE+'%' ) In Englisch zählt diese Abfrage die Anzahl der in Bad_Phrase aufgelisteten …
Warum verwendet SQL Server Parallelität, wenn diese Abfrage ausgeführt wird, die eine Unterabfrage verwendet, jedoch keine, wenn ein Join verwendet wird? Die Join-Version wird seriell ausgeführt und dauert ca. 30-mal länger. Join-Version: ~ 30secs Unterabfrage-Version: <1 Sekunde BEARBEITEN: XML-Versionen des Abfrageplans: JOIN-Version SUBQUERY-Version
Wenn Sie eine Unterabfrage verwenden, um die Gesamtanzahl aller vorherigen Datensätze mit einem übereinstimmenden Feld zu ermitteln, ist die Leistung in einer Tabelle mit nur 50.000 Datensätzen schlecht. Ohne die Unterabfrage wird die Abfrage in wenigen Millisekunden ausgeführt. Bei der Unterabfrage beträgt die Ausführungszeit mehr als eine Minute. Für diese …
Der folgende Code wurde von einem unserer Entwickler hinzugefügt, um doppelte Datensätze aus der Tabelle zu löschen: 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 Bei der Überprüfung des Codes …
Ich habe zwei Tische employeeund phones. Ein Mitarbeiter kann 0 bis n Telefonnummern haben. Ich möchte die Namen der Mitarbeiter mit ihren Telefonnummern auflisten. Ich benutze die folgende Abfrage, die gut läuft. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones ON employee.empid = phones.empid GROUP BY employee.empid Die …
Ich habe eine SQL Server-Abfrage geschrieben, die Datensätze nach der Partitionierung in einem Feld so aktualisiert, dass sie eine fortlaufende Nummer haben. Wenn ich es als SELECT-Anweisung ausführe, sieht alles gut aus: DECLARE @RunDetailID INT = 448 DECLARE @JobDetailID INT SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE [RunDetailID] = @RunDetailID …
Ich suche nach einer Möglichkeit, eine Abfrage zu erstellen, um Folgendes zu tun: Betrachten wir 3 Tabellen: Produkte: Liste der Produkte Tags: Liste der Tags tag_ties: Tabelle, mit der ein Tag einem Produkt zugeordnet wird Betrachten wir diese Struktur für jede Tabelle: Produkte: id (int, Autoincrement) Name (Varchar, Name des …
Ich habe eine relativ einfache Abfrage für eine Tabelle mit 1,5 Millionen Zeilen: SELECT mtid FROM publication WHERE mtid IN (9762715) OR last_modifier=21321 LIMIT 5000; EXPLAIN ANALYZE Ausgabe: 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 …
Ich habe gerade ein Protokollierungssystem eingerichtet, das aus mehreren Tabellen mit demselben Layout besteht. Für jede Datenquelle gibt es eine Tabelle. Für den Log Viewer möchte ich UNION alle Protokolltabellen , filtern Sie sie nach Konto , Fügen Sie eine Pseudospalte zur Identifizierung der Quelle hinzu. sortiere sie nach Zeit …
Ich habe eine Tabelle Categorymit einer Spalte namens CategoryID. In derselben Tabelle befindet sich eine Referenzierungsspalte mit dem Namen fParentCategoryID. Ich muss alle Kategorie-IDs und ihre Unterkategorie-IDs durch Kommas trennen. Zum Beispiel: Wenn die übergeordnete Kategorie-ID 10 1 ist und wenn die übergeordnete Kategorie-ID 20 10 ist, muss ich beim …
Ich habe eine komplizierte Unterabfrage, die eine Liste von Auftrags-IDs zurückgibt. Ich brauche eine Liste der Kunden, die diese Bestellungen haben. Das Problem ist, dass es zwei Möglichkeiten gibt, einen Kunden einer Bestellung zuzuweisen (eines von zwei Feldern). Ich könnte einfach so etwas machen: select * from Customers where orderId …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.