Daten Statements

Die Regeln für die Daten Statements werden bei SELECT, UPDATE, INSERT und DELETE angewendet.

Erste Spalte

Die erste Spalte eines Daten Statements kommt in eine eigene Zeile. Daher ist der folgende Code falsch.

SELECT  staffId,
        staffName,
        a
FROM    personnel
        INNER JOIN ( SELECT a
                     FROM   b
                   ) AS ab 
            ON personnel.a = ab.a

Es sollte so formatiert werden

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b
               ) AS ab

Jede weitere Spalte

Jede weitere Spalte kommt in eine eigene Zeile, d.h. das hier ist falsch

SELECT
    staffId, staffName, a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b
               ) AS ab
        ON personnel.a = ab.a

und das hier ist richtig

ELECT
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b 
               ) AS ab

Inhalt von Klammern

Der Inhalt von Klammern wird nicht in eine neue Zeile geschrieben, daher ist dieses Code-Fragment falsch

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN (
                 SELECT
                    a
                 FROM
                    b 
               ) AS ab

und dieses richtig

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b
               ) AS ab
         ON personnel.a = ab.a

Schließende Klammern

Schließende Klammern werden, analog zu öffnenden Klammern (s.o.) auch nicht in eine eigene Zeile geschrieben. Daher ist das hier falsch 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b
               ) AS ab
         ON personnel.a = ab.a

und das hier richtig

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b ) AS ab 
        ON personnel.a = ab.a

Join Bedingungen

Join Bedingungen werden nicht in eine eigene Zeile geschrieben, d.h. der folgende Code ist falsch 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b ) AS ab
         ON personnel.a = ab.a

und dieser Code ist richtig 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b ) AS ab ON personnel.a = ab.a

Unterbedingungen einziehen

Unterbedingungen werden nicht eingezogen, d.h. der folgende Code ist falsch 

SELECT 
        staffId,
        staffName,
        a
    FROM
        personnel
        INNER JOIN ( SELECT
                            a
                        FROM
                             b ) AS ab ON personnel.a = ab.a

und dieser Code ist richtig 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM 
                    b ) AS ab ON personnel.a = ab.a

Join-Bedingung an Join ausrichten

Join Bedingungen werden nicht am Join ausgerichtet da der Join nicht in eine eigene Zeile geschrieben wird, d.h. dieser Code ist auf jeden Fall falsch: 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b ) AS ab 
    ON personnel.a = ab.a

Richtig ist, wie unter Join-Bedingungen oben die Schreibweise 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM 
                    b ) AS ab ON personnel.a = ab.a

Abgeleitete Tabellen und Subqueries in einzelne Zeile schreiben

Abgeleitete Tabellen und Subqueries werden nicht in einzelne Zeilen geschrieben, daher ist der folgende Code falsch

SELECT
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT a FROM b ) AS ab
    ON personnel.a = ab.a

und diese Code hier richtig 

SELECT 
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                     b ) AS ab

JOIN an FROM ausrichten

JOINs werden nicht am FROM ausgerichtet. Der folgende Code ist falsch 

SELECT
    staffId,
    staffName,
    a
FROM
    personnel
INNER JOIN ( SELECT
                a
             FROM
                b ) AS ab ON personnel.a = ab.a

und der Code hier ist richtig

SELECT
    staffId,
    staffName,
    a
FROM
    personnel
    INNER JOIN ( SELECT
                    a
                 FROM
                    b ) AS ab ON personnel.a = ab.a

Das ist auch im T-SQL Ninja Style für SQL Prompt so festgelegt:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.