SELECT irkupra data minn tabella waħda jew iktar — hija l-istqarrija SQL l-aktar użata. Tispeċifika liema kolonni trid u minn liema tabella, b'għażla ta' filtrar, issort, u limitazzjoni tal-riżultati.
SELECT bażiku
SELECT name, email -- specific columns
FROM users;
SELECT * -- ALL columns (convenient, but avoid in production code)
FROM users;
SELECT name AS full_name -- AS gives a column an alias (renamed in the output)
FROM users;
Antikwra l-kolonni li trid tirrevedi wara SELECT (jew * għal kollha), u t-tabella wara FROM. L-aliases (AS) jirrinomaw il-kolonni fir-riżultat.
Evita SELECT * fil-kodiċi tal-applikazzjoni
-- ❌ SELECT * fetches every column — wasteful, fragile (breaks if columns change)
SELECT * FROM users;
-- ✅ select only what you need — less data transferred, clearer intent, more stable
SELECT id, name, email FROM users;
Filwaqt li SELECT * huwa utli għall-esplorasyon, fil-kodiċi reali għandek tagħżel biss il-kolonni li għandek bżonn — dan jittrasfera inqas data, jagħmel l-intentsijoni ċara, u mhux se jinqasam jekk il-kolonni tat-tabella jinbidlu.
Kolonni kalkolati u espressjonijiet
SELECT
name,
price * quantity AS total, -- a calculated column
UPPER(name) AS name_upper, -- a function applied to a column
price * 1.1 AS price_with_tax
FROM orders;
SELECT jista' jinkloodi espressjonijiet u funzjonijiet, mhux biss kolonni sempliċi.
L-ordni loġiku ta' query
SELECT name -- 5. select columns (runs near-last logically)
FROM users -- 1. from the table
WHERE active = true -- 2. filter rows
GROUP BY country -- 3. group
HAVING COUNT(*) > 5 -- 4. filter groups
ORDER BY name -- 6. sort
LIMIT 10; -- 7. limit
LOGICAL execution order (NOT the written order):
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT
→ This is why you can't use a SELECT alias in WHERE (WHERE runs before SELECT).
Għaliex dan importanti
SELECT hija l-pedament ta' kif nistaqsew data — l-istqarrija SQL l-aktar użata, ċentrali għal qari minn kwalunkwe database relazjonali, allura l-masterija tagħha hija għarfien essenzjali ta' kuljum.
". Ifthem kif tispeċifika kolonni, uża aliases, u inkloudi espressjonijiet kalkolati jkopri l-bażikità tar-rikuperazzjoni u l-formazzjoni tal-data.
Pratika importanti hija l-evitar ta' SELECT * fil-kodiċi tal-applikazzjoni (tagħżel biss il-kolonni meħtieġa jittrasfera inqas data, huwa ċar iżjed, u huwa aktar robust għal bidliet ta' skema — prattika komuni ta' ħaff).
Partikullarment valuzuż huwa l-ifthem tal-ordni ta' eżekuzzjoni loġika ta' query (FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT), li differenti mill-ordni miktuba u jispjega l-imġieba reali — bħal għaliex ma tistax tirreferi għal alias ta' SELECT f' WHERE clause (għax WHERE taħdem loġikalment qabel SELECT).
Il-mudell mentali dan ta' kif queries fil-fatt jipproċessaw huwa fundamentali għall-kitba ta' queries korretti u l-debugg ta' żbalji konfuzi.
Billi l-qari ta' data ma' SELECT huwa l-operazzjoni database l-aktar komuni, u billi l-ifthem ta' għażla ta' kolonni, aliases, espressjonijiet, u speċjalment l-ordni loġiku ta' query huwa fundamentali għall-kull interrogazzjoni, l-masterija tal-istqarrija SELECT hija għarfien ċentrali, li għandek tieqaf, għal kull min jaħdem ma' databases SQL.
