Negli ultimi anni ho sviluppato l'abitudine di formattare la query% sq_de% SQL in questo modo:
SELECT
fieldNames
FROM
sources
JOIN tableSource ON col1 = col2
JOIN (
SELECT
fieldNames
FROM
otherSources
) AS subQuery ON subQuery.foo = col2
WHERE
someField = somePredicate
Quindi vedi il mio pattern: ogni parola chiave è sulla sua stessa riga e i campi di quella parola chiave sono rientrati di 1 tab-stop e il pattern è usato in modo ricorsivo per le sottoquery.
Funziona bene per tutte le mie query SELECT
, poiché massimizza la leggibilità anche se al costo dello spazio verticale; ma non funziona per cose come SELECT
e INSERT
che hanno una sintassi radicalmente diversa.
INSERT INTO tableName
( col1, col2, col3, col4, col5, col6, col7, col8 )
VALUES ( 'col1', 'col2', 'col3', 'col4', 'col5', 'col6', 'col7', 'col8' ),
VALUES ( 'col1', 'col2', 'col3', 'col4', 'col5', 'col6', 'col7', 'col8' )
UPDATE tableName
SET
col1 = 'col1',
col2 = 'col2',
col3 = 'col3',
// etc
WHERE
someField = somePredicate
Come puoi vedere, non sono così belli, e quando hai a che fare con tabelle con un sacco di colonne diventano rapidamente non soddisfacenti.
C'è un modo migliore per formattare UPDATE
e INSERT
? E per quanto riguarda le dichiarazioni UPDATE
e altre operazioni?