Creo que esta es una de esas preguntas que subjetivo , y se convertirá en una cuestión de preferencia, pero:
Desde una perspectiva de legibilidad, yo argumentaría por ser explícita SOLAMENTE cuando sea necesario. Muy a menudo, las sentencias de SQL son lo suficientemente complejas sin tener que leer una gran cantidad de texto innecesario.
creo que
SELECT TOP 1000 [StoreNumber]
,[Address1]
,[Address2]
,[City]
,[St]
,[Zip]
,[ZipSuffix]
,[LocationType]
,[LocationSubType]
,[Corp]
,[Division]
,[ZoneNumber]
,[DistrictNumber]
,[StateNumber]
FROM [CommonData].[dbo].[vw_StoreData]
es mucho más fácil de leer que
SELECT TOP 1000 [CommonData].[dbo].[vw_StoreData].[StoreNumber]
,[CommonData].[dbo].[vw_StoreData].[[Address1]
,[CommonData].[dbo].[vw_StoreData].[[Address2]
,[CommonData].[dbo].[vw_StoreData].[[City]
,[CommonData].[dbo].[vw_StoreData].[[St]
,[CommonData].[dbo].[vw_StoreData].[[Zip]
,[CommonData].[dbo].[vw_StoreData].[[ZipSuffix]
,[CommonData].[dbo].[vw_StoreData].[[LocationType]
,[CommonData].[dbo].[vw_StoreData].[[LocationSubType]
,[CommonData].[dbo].[vw_StoreData].[[Corp]
,[CommonData].[dbo].[vw_StoreData].[[Division]
,[CommonData].[dbo].[vw_StoreData].[[ZoneNumber]
,[CommonData].[dbo].[vw_StoreData].[[DistrictNumber]
,[CommonData].[dbo].[vw_StoreData].[[StateNumber]
FROM [CommonData].[dbo].[vw_StoreData]
(Se pone peor cuando se inicia mesas de unión, y aún peor si se está uniendo a las tablas en diferentes bases de datos.)
puedo ver dónde se podría argumentar que la segunda es más fácil de leer si lo que necesita saber exactamente qué base de datos, el esquema y tabla de un campo en particular proviene de mirando a la consulta solo.
Pero en SQL Server, por ejemplo, podría abrir esa consulta en un diseñador y verla en una vista gráfica mucho más amigable.
en mi humilde opinión, la única vez que me gustaría utilizar la sintaxis completa es cuando sea necesario, al cruzar las fronteras de mesa/base de datos/esquema, o si usted tiene dos tablas con el mismo nombre de campo.
Ejemplo:
SELECT TOP 1000 [CommonData].[dbo].[vw_StoreData].[StoreNumber]
,[Address1]
,[Address2]
,[City]
,[St]
,[Zip]
,[ZipSuffix]
,[LocationType]
,[LocationSubType]
,[Corp]
,[Division]
,[ZoneNumber]
,[DistrictNumber]
,[StateNumber]
FROM [CommonData].[dbo].[vw_StoreData]
Inner Join [CommonData].[dbo].[vw_StorePhones]
ON [CommonData].[dbo].[vw_StorePhones].[StoreNumber] = [CommonData].[dbo].[vw_StoreData].[StoreNumber]
E incluso en ese caso, que haría uso de Table Aliases para acortarlo y que sea más legible.
Dicho todo esto, en el mundo real, es muy probable que se encuentre trabajando para una empresa que ya ha decidido el formato estándar, y deberá codificar de acuerdo con los estándares de la compañía.
No puedo estar en desacuerdo con eso. El uso de alias de tabla definitivamente ayuda a reducir el desorden y aún proporciona la pista necesaria para decir de qué tabla proviene un campo al mirar solo la consulta. +1 a ti. – David