SQL – ¿Por qué no hay una manera de SELECCIONAR TODO, excepto esta columna

Mi pregunta general es que quiero seleccionar todas las columnas de una combinación izquierda, y no necesito saber la ID que une las dos tablas. Sé que no es necesario seleccionar todo, pero como necesita todos los campos, excepto los identificadores, ¿por qué no hay una manera más corta de: SELECCIONAR * excepto "esta columna", siento que el time de acción debería ser más corto al hacer al revés?

T1: aID, c1, c2, c3, c4 t2: aID, c1, c2, c3, c4 Select * from t1 left join t2 on t1.aid = t2.aid result: t1:aid, c1, c2, c3, c4, aid, c1, c2 ,c3 ,c4 

en lugar de seleccionar cada una de las columnas que quiero, solo quiero seleccionar todas excepto "ayuda".

SELECT * es una abreviatura que es útil para generar rápidamente una consulta, pero no se recomienda para el código de producción (fuera de las expresiones EXISTS ). Si hay algún cambio en el esquema, todo lo que consum los resultados de la consulta mostrará columnas inesperadas. Del mismo modo, su formulario solicitado tendría el mismo problema.

Una vez que haya configurado su consulta de forma adecuada (las uniones correctas, etc.), debe volver a su cláusula SELECT y enumerar explícitamente las columnas que realmente desea recuperar. Recuperar más columnas de las que necesita (incluidas las nuevas) puede hacer que SQL Server tenga que utilizar un plan less eficiente o recuperar cantidades masivas de datos que el consumidor nunca va a utilizar.

No estoy muy seguro de que eso sea realmente posible. Es posible que desee ver una consulta dinámica en esta instancia, donde todas las columnas de las dos tablas que se unen se includeán en la consulta, excepto la key externa.

Incluso puede considerar escribir un Procedimiento de géneros que acepte parameters para @ Table1, @ Table2, @PK, @FK y luego comstackr la consulta de forma dinámica en function de los parameters proporcionados.

La optimization prematura es la raíz de todo mal (o al less la mayor parte) en la progtwigción. – Donald E. Knuth

¿Por qué te importa si la columna de identificación es devuelta o no?

Además, sí, esto podría ser un poco un descuido en el layout de SQL.

Por la misma razón que SELECT * no es una buena idea. En el mejor de los casos, puede resultar molesto y, en el peor de los casos, peligroso utilizar SELECT * en sus consultas. Si la tabla o el origen de datos que está consultando cambian, puede tener un comportamiento inesperado.

Parece que lo que estás buscando es NATURAL JOIN .