Myślę, że to jedno z tych pytań, które subiektywne i okaże się to kwestią preferencji, ale:
Z punktu widzenia czytelności argumentowałbym, że będę TYLKO JEDYNYM, gdy będzie to konieczne. Bardzo często instrukcje SQL są wystarczająco złożone, bez konieczności czytania niepotrzebnego tekstu.
myślę że
SELECT TOP 1000 [StoreNumber]
,[Address1]
,[Address2]
,[City]
,[St]
,[Zip]
,[ZipSuffix]
,[LocationType]
,[LocationSubType]
,[Corp]
,[Division]
,[ZoneNumber]
,[DistrictNumber]
,[StateNumber]
FROM [CommonData].[dbo].[vw_StoreData]
jest dużo bardziej czytelny niż
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]
(Jest jeszcze gorzej, kiedy zaczynają tabel łączenia, a nawet gorzej, jeśli jesteś łączenia tabel w różnych bazach danych.)
widzę gdzie można argumentować, że drugi jest bardziej czytelny jeśli trzeba dokładnie wiedzieć, które bazy danych, schemat i tabela szczególna dziedzina pochodzi patrząc na samego zapytania.
Ale na przykład w SQL Server można otworzyć to zapytanie w projektancie i wyświetlić je w znacznie bardziej przyjaznym widoku graficznym.
IMHO, czas tylko, że będę korzystać z pełnej składni jest gdy konieczne, przy przekraczaniu granic tabeli/bazy danych/schematu, lub jeśli masz dwie tabele o tej samej nazwie pola.
Przykład:
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]
I nawet w tym przypadku użyłbym Table Aliases skrócić go i uczynić go bardziej czytelnym.
Wszystko to powiedziawszy, w realnym świecie jest całkiem prawdopodobne, że będziesz pracować dla firmy, która już zdecydowała o standardowym formacie, i będziesz musiał kodować zgodnie ze standardem firmy.
Nie mogę się z tym nie zgodzić. Używanie aliasów stołowych zdecydowanie pomaga zredukować bałagan i nadal zapewnia niezbędną wskazówkę, aby określić tabelę, z której pochodzi pole, patrząc na samą kwerendę. +1 do Ciebie. – David