

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# SELECT-Liste
<a name="r_SELECT_list"></a>

**Topics**
+ [Syntax](#r_SELECT_list-synopsis)
+ [Parameters](#r_SELECT_list-parameters)
+ [Nutzungshinweise](#r_SELECT_list_usage_notes)
+ [Beispiele](#r_SELECT_list-examples)

Die SELECT-Liste nennt die Spalten, Funktionen und Ausdrücke, die die Abfrage zurückgeben soll. Der Liste stellt die Ausgabe der Abfrage dar. 

Weitere Hinweise zu SQL-Funktionen finden Sie unter [SQL-Funktionsreferenz](c_SQL_functions.md). Weitere Informationen zu Ausdrücken finden Sie unter [Bedingte Ausdrücke](c_conditional_expressions.md).

## Syntax
<a name="r_SELECT_list-synopsis"></a>

```
SELECT
[ TOP number ]
[ ALL | DISTINCT ] * | expression [ AS column_alias ] [, ...]
```

## Parameters
<a name="r_SELECT_list-parameters"></a>

TOP *number*   
TOP verwendet als Argument eine positive Ganzzahl, die die Anzahl der Zeilen definiert, die an den Client zurückgegeben werden. Das Verhalten mit TOP-Klausel ist mit dem Verhalten mit LIMIT-Klausel identisch. Die Anzahl der zurückgegebenen Zeilen ist fest, der Zeilensatz jedoch nicht. Verwenden Sie zur Rückgabe eines konsistenten Zeilensatzes TOP oder LIMIT in Verbindung mit einer ORDER BY-Klausel. 

ALL   
Ein redundantes Schlüsselwort, das das Standardverhalten definiert, wenn Sie nicht DISTINCT angeben. `SELECT ALL *` bedeutet das gleiche wie `SELECT *` (Auswahl aller Zeilen für alle Spalten und Beibehaltung von Duplikaten). 

DISTINCT   
Eine Option, die duplizierte Zeilen aus dem Ergebnissatz entfernt, basierend auf übereinstimmenden Werten in einer oder mehreren Spalten.   
Wenn Ihre Anwendung ungültige Fremd- oder Primärschlüssel zulässt, kann dies dazu führen, dass einige Abfragen falsche Ergebnisse zurückgeben. Beispielsweise kann eine SELECT DISTINCT-Abfrage duplizierte Zeilen zurückgeben, wenn der Primärschlüssel nicht alle eindeutigen Werte enthält. Weitere Informationen finden Sie unter [Definieren von Tabelleneinschränkungen](https://docs.aws.amazon.com/redshift/latest/dg/t_Defining_constraints.html).

\* (Sternchen)   
Gibt den gesamten Inhalt der Tabelle zurück (alle Spalten und alle Zeilen). 

 *expression*   
Ein Ausdruck, der aus einer oder mehreren Spalten gebildet wird, die in den Tabellen vorhanden sind, die von der Abfrage referenziert werden. Ein Ausdruck kann SQL-Funktionen enthalten. Beispiel:   

```
avg(datediff(day, listtime, saletime))
```

AS *column\_alias*   
Ein temporärer Name für die Spalte, der im endgültigen Ergebnissatz verwendet wird. Das Schlüsselwort AS ist optional. Beispiel:   

```
avg(datediff(day, listtime, saletime)) as avgwait
```
Wenn Sie keinen Alias für einen Ausdruck angeben, bei dem es sich nicht um einen einfachen Spaltennamen handelt, wendet der Ergebnissatz einen Standardnamen auf diese Spalte an.   
Der Alias wird sofort nach seiner Definition in der Zielliste erkannt. Sie können einen Alias in anderen danach definierten Ausdrücken in derselben Zielliste verwenden. Das folgende Beispiel illustriert dies.   

```
select clicks / impressions as probability, round(100 * probability, 1) as percentage from raw_data;
```
Der Nutzen der lateralen Alias-Referenz ist es, dass Sie den Alias-Ausdruck nicht wiederholen müssen, wenn Sie komplexere Ausdrücke in derselben Zielliste erstellen. Wenn Amazon Redshift diesen Typ einer Referenz analysiert, stimmt es lediglich die zuvor definierten Aliase aufeinander ab. Falls eine Spalte mit demselben Namen wie der vorherige Alias-Ausdruck in der `FROM`-Klausel definiert wurde, erhält die Spalte in der `FROM`-Klausel Priorität. Beispiel: Wenn in der Abfrage oben eine Spalte mit der Bezeichnung „Wahrscheinlichkeit“ in den Rohdaten der Tabelle enthalten ist, bezieht sich die „Wahrscheinlichkeit“ im zweiten Ausdruck in der Zielliste auf diese Spalte anstatt auf den Aliasnamen „Wahrscheinlichkeit“. 

## Nutzungshinweise
<a name="r_SELECT_list_usage_notes"></a>

TOP ist eine SQL-Erweiterung. Sie bietet eine Alternative zum LIMIT-Verhalten. Sie können TOP und LIMIT nicht in derselben Abfrage verwenden.

## Beispiele
<a name="r_SELECT_list-examples"></a>

Im folgenden Beispiel werden 10 Zeilen aus der Tabelle SALES zurückgegeben. Trotz Verwendung der TOP-Klausel in der Abfrage wird dennoch ein unvorhersehbarer Satz von Zeilen zurückgegeben, da keine Klausel ORDER BY angegeben ist.

```
select top 10 *
from sales;
```

Die folgende Abfrage ist funktionell gleichwertig, verwendet jedoch anstelle einer TOP-Klausel eine LIMIT-Klausel:

```
select *
from sales
limit 10;
```

Im folgenden Beispiel werden unter Verwendung der TOP-Klausel die ersten 10 Zeilen aus der Tabelle SALES zurückgegeben, in absteigender Reihenfolge nach der Spalte QTYSOLD angeordnet.

```
select top 10 qtysold, sellerid
from sales
order by qtysold desc, sellerid;

qtysold | sellerid
--------+----------
8 |      518
8 |      520
8 |      574
8 |      718
8 |      868
8 |     2663
8 |     3396
8 |     3726
8 |     5250
8 |     6216
(10 rows)
```

Im folgenden Beispiel werden die ersten beiden QTYSOLD- und SELLERID-Werte aus der Tabelle SALES zurückgegeben, nach der Spalte QTYSOLD angeordnet:

```
select top 2 qtysold, sellerid
from sales
order by qtysold desc, sellerid;

qtysold | sellerid
--------+----------
8 |      518
8 |      520
(2 rows)
```

Im folgenden Beispiel ist die Liste der verschiedenen Kategoriegruppen aus der Tabelle CATEGORY zu sehen:

```
select distinct catgroup from category
order by 1;

catgroup
----------
Concerts
Shows
Sports
(3 rows)

--the same query, run without distinct
select catgroup from category
order by 1;

catgroup
----------
Concerts
Concerts
Concerts
Shows
Shows
Shows
Sports
Sports
Sports
Sports
Sports
(11 rows)
```

Im folgenden Beispiel wird der eindeutige Satz von Wochenzahlen für Dezember 2008 zurückgegeben. Ohne die DISTINCT-Klausel würde die Anweisung 31 Zeilen bzw. eine Zeile für jeden Tag des Monats zurückgeben.

```
select distinct week, month, year
from date
where month='DEC' and year=2008
order by 1, 2, 3;

week | month | year
-----+-------+------
49 | DEC   | 2008
50 | DEC   | 2008
51 | DEC   | 2008
52 | DEC   | 2008
53 | DEC   | 2008
(5 rows)
```

