Cashar 2

SELECT & WHERE: Soo Keen Xogta

Baro sida loo isticmaalo SELECT si buuxda, iyo sida WHERE loogu shaandeeyo natiijooyinka aad u baahan tahay.

SELECT iyo WHERE

Casharkan waxaan qaadanaynaa SELECT si aad u fahamto si buuxda, oo waxaan baranaynaa WHERE — aaladda ugu xoog badan ee lagu shaandeeyo (filter) xogta.

SELECT si Dhameystiran

-- Qaabka guud
SELECT tiirka1, tiirka2, ...
FROM miiska_magaca
WHERE shuruud
ORDER BY tiirka_tartanka
LIMIT tirada;

Amarrada waa in ay raacaan hab-naqshadeedkan — WHERE waa inay ka timaadaa ka dib FROM, ORDER BY ka dib WHERE, iwm.

Qaababka WHERE

Xulashooyin Aasaasiga ah

-- Siman (equality)
SELECT * FROM alaabta WHERE qiimaha = 29.99;

-- Aan siman (not equal)
SELECT * FROM shaqaalaha WHERE waaxda <> 'Marketing';

-- Is barbardhig (comparison)
SELECT * FROM dalabka WHERE xajmiga > 100;
SELECT * FROM lacag_bixinta WHERE xad <= 500;

BETWEEN — Xadka Ugu Dhexeeya

-- Alaabta qiimaheedu u dhexeeyo 10 iyo 50
SELECT magaca, qiimaha
FROM alaabta
WHERE qiimaha BETWEEN 10 AND 50;

-- Tariikhda (dates)
SELECT *
FROM dalabka
WHERE taariikh_dalabka BETWEEN '2024-01-01' AND '2024-12-31';

LIKE — Raadinta Qoraalka

-- Magacyada bilaabma 'A'-ga
SELECT * FROM macaamiilka WHERE magaca LIKE 'A%';

-- Magacyada dhammaanaya 'son'
SELECT * FROM macaamiilka WHERE magaca LIKE '%son';

-- Magacyada ku jira 'ali'
SELECT * FROM macaamiilka WHERE magaca LIKE '%ali%';

% waxay u taagan tahay “wax kasta oo aad dooneyso” (xataa madhan). _ waxay u taagan tahay “hal xaraf oo keliya.”

IN — Liiska Xulashada

-- Halkii aad saddex shuruud u qori lahayd OR-ka ah
SELECT * FROM alaabta
WHERE nooca IN ('Telefoon', 'Laptop', 'Taablet');

-- Waxaa la isticmaali karaa NOT IN sidoo kale
SELECT * FROM dalabka
WHERE xaaladda NOT IN ('La soo celinayaa', 'La joojiyay');

IS NULL — Qiyamka La’aanta

-- Hel safafka macluumaadka la'anta
SELECT * FROM macaamiilka WHERE taleefanka IS NULL;

-- Hel kuwa qiime leh
SELECT * FROM macaamiilka WHERE email IS NOT NULL;

Xusuusnow: Marnaba ha isticmaalin = NULL — waa khalad. SQL-ka, NULL ma siman karo mid kale, xataa NULL kale. Had iyo jeer IS NULL isticmaal.

AND, OR, NOT — Xulashooyin La Isku Daro

-- AND: Shuruudaha oo dhan waa in ay raacaan
SELECT * FROM shaqaalaha
WHERE waaxda = 'Injineernimo'
  AND mushaharka > 70000;

-- OR: Hal shruud oo raacday ayaa ku filan
SELECT * FROM alaabta
WHERE nooca = 'Laptop'
  OR nooca = 'Taablet';

-- NOT: Bedel shruudda
SELECT * FROM macaamiilka
WHERE NOT magaalada = 'Muqdisho';

-- La isku daro — isticmaal qoraallada!
SELECT * FROM alaabta
WHERE (nooca = 'Laptop' OR nooca = 'Taablet')
  AND qiimaha < 1000
  AND kaydka > 0;

Nidaaminta Natiijooyinka — ORDER BY

-- Kala sooc kor-u-kacaya (A→Z, 1→9) — caadiga ah
SELECT magaca, qiimaha FROM alaabta
ORDER BY qiimaha;

-- Kala sooc hoos-u-dhaca (Z→A, 9→1)
SELECT magaca, qiimaha FROM alaabta
ORDER BY qiimaha DESC;

-- Ku kala sooc tiirrar badan
SELECT magaca, nooca, qiimaha FROM alaabta
ORDER BY nooca ASC, qiimaha DESC;

Xaddida Natiijooyinka — LIMIT

-- Soo keen 10-ka alaab ugu qaali ah
SELECT magaca, qiimaha
FROM alaabta
ORDER BY qiimaha DESC
LIMIT 10;

-- Bogag-gelin (pagination) isticmaalaya OFFSET
SELECT * FROM alaabta
ORDER BY id
LIMIT 20 OFFSET 40; -- Bogga 3aad (0, 20, 40...)

Meelaynta Natiijooyinka — DISTINCT

-- Hel noocyada kala duwan oo keliya — kuma celcelin
SELECT DISTINCT nooca FROM alaabta;

-- Isku darka
SELECT DISTINCT magaalada, dalka FROM macaamiilka;

Xirfad Dhaqameed

Raadinta Alaabta

Haysataa miis la yiraahdo `alaabta` oo leh: `id`, `magaca`, `nooca`, `qiimaha`, `kaydka`. Qor query soo keenaysa dhammaan laptops-ka qiimaheedu ka yar yahay $800 oo kaydka ku jira, oo kala soocaysa qiimaha kor-u-kacaya.

Knowledge Check

WHERE Clause Check

0/1 la jawaabay

Hubi inaad fahantay sida shuruudaha SQL loo dhiso.

1Qaybta `WHERE` waxaa loo isticmaalaa:

Billow Maanta

Diyaar ma u tahay inaad
noqoto khabiir?

Ku biir 1,200+ arday ah oo ku baranaya koodka si dhakhso ah — bilaash, adigoo raacaya xawaarahaaga.