A SELECT TOP 1 1 mit jelent (SQL)?
SELECT TOP 1 1 FROM Tábla T WHERE T.Mező = A.Valami
Sima SELECT TOP 1-et érteném, de nem tudom kitalálni, hogy ez mit jelent (google-t már próbáltam).





Pedig a 88%-os válaszoló adta meg a helyes választ, kár beszólogatni neki, ugyanis egyedül ő értette meg igazán, mi történik. Én is csak második olvasásra jöttem rá erre. A kérdező ugyan rájött, hogy mi az eredmény, de arra nem, hogy miért, és hogy működik. Erre bizony a "SELECT 1" a válasz. Ugyanis tényleg az van ott.
A lekérdezés alapvetően minden rekordhoz 1-et rendel, ahol teljesül a feltétel, és NULL-t, ahol nem. Mivel csak az érdekel, hogy van-e ilyen, ezért az egyesek közül elég az elsőt kiírni, így lett SELECT TOP 1 1, vagyis az eredeti select 1 közepébe van beszúrva egy top 1.
Ez egy olyan trükk, amit a modern programozásban nem tartanak stílusosnak és követendőnek, mert működik ugyan, de nem fejezi ki világosan a programozó szándékait, és nehezen olvasható. Ha nem az lenne, akkor nem is jött volna létre ez a kérdés. Egy exists kulcsszavas megoldás sokkal érthetőbb lenne, bár nem ennyire tömör. Ami időt a programozó megspórolt a kód írásán, azt sokan mások elveszítik az értelmezésén, és így több ember együttvéve rosszabbul jár.





Köszi 11-es, így már érthető volt. Ha bunkó stílusban válaszol valaki, ráadásul érthetetlenül, akkor természetesen nem lesz hasznos számomra a válasz, ezért megy a piros, a hasznosért meg a zöld, egyszerűen ennyi a titok.
(Amúgy hol írtam, hogy programozó vagyok, voltam, leszek vagy szeretnék az lenni? Kódot kellett dokumentálnom, ami SQL esetén nem túl nehéz olyannak, aki már látott ilyet párszor, csak ezt az egy dolgot nem értettem.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!