Jeg har for rigtig mange år siden skrevet om brugen af SELECT * FROM i relation til dynamisk SQL og performance. Jeg kom bare ikke ind på en meget anvendelig detalje omkring SELECT * FROM, hvis du joiner to eller flere tabeller. Lad mig starte med et eksempel:
SELECT * FROM ONE_TABLE A, ANOTHER_TABLE B WHERE A.KEY = B.FOREIGN_KEY
Denne SELECT vil hente samtlige kolonner fra ONE_TABLE og ANOTHER_TABLE, men måske er du kun interesseret i at hente kolonnerne fra ANOTHER_TABLE. Dette gøres simpelt ved at skrive SELECT B.* i den første linie.
Jeg benytter ofte dette trick, selv om jeg kun henter data fra een tabel. Så kan jeg for eksempel finde på at skrive SELECT COL10, A.* FROM MYTABLE A, fordi jeg gerne vil se værdierne af COL10 uden at skulle bladre i output og finde COL10. Jeg har så stadig værdierne af de andre kolonner til rådighed, hvis COL10 skulle indeholde en eller anden spændende værdi, der kræver undersøgelse af værdierne i de øvrige kolonner.