Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was macht select 1 from?

select 1 from table

gibt für jede Zeile in der Tabelle eine Spalte mit Einsen zurück. Sie könnten es mit einer where-Anweisung verwenden, um zu prüfen, ob Sie einen Eintrag für einen bestimmten Schlüssel haben, wie in:

if exists(select 1 from table where some_column = 'some_value')

Was Ihr Freund wahrscheinlich gesagt hat, ist, dass Sie anstelle von Massenauswahlen mit select * from table aus zwei Gründen genau die Spalten angeben sollten, die Sie benötigen:

1) Leistung &Sie können mehr Daten abrufen, als Sie tatsächlich benötigen.

2) Der Benutzer der Abfrage kann sich auf die Reihenfolge der Spalten verlassen. Wenn Ihre Tabelle aktualisiert wird, erhält der Client Spalten in einer anderen Reihenfolge als erwartet.