Verwenden von Tupeln in der SQL-„IN“-Klausel mit hartcodierten Werten
In SQL können Sie mit der „IN“-Klausel überprüfen, ob Der Wert einer Spalte entspricht einem beliebigen Wert in einer angegebenen Liste. Bei der Arbeit mit Tupeln und hartcodierten Werten treten jedoch Herausforderungen auf.
Alternative zur String-Verkettung
Eine vorgeschlagene Lösung beinhaltete die String-Verkettung, deren Ineffizienz bei großen Tabellen jedoch zunimmt Bedenken.
Gültiger Standard SQL-92 Syntax
Ein effizienterer Ansatz besteht in der Verwendung einer geringfügigen Syntaxänderung in der Standard-SQL-92-Syntax:
SELECT * FROM mytable WHERE (group_id, group_type) IN ( VALUES ('1234-567', 2), ('4321-765', 3), ('1111-222', 5) );
Diese Syntax ist in vielen gängigen SQL-Produkten gültig, einschließlich PostgreSQL und SQLite. SQL Server 2022 unterstützt dies jedoch derzeit nicht.
Fazit
Indem Sie doppelte Anführungszeichen durch einfache Anführungszeichen ersetzen und das Schlüsselwort VALUES hinzufügen, können Sie eine effizientere Syntax für nutzen Abfragen von Tupeln mit hartcodierten Werten in der SQL-„IN“-Klausel. Dieser Ansatz behebt die Nachteile der Zeichenfolgenverkettung und bietet eine skalierbarere Lösung für große Tabellen.
Das obige ist der detaillierte Inhalt vonWie kann ich Tupel in der „IN'-Klausel von SQL mit hartcodierten Werten effizient verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!