Uko ndani ya app. Fungua kwenye browser kwa muonekano na downloads bora.
September 2, 2026 9 min read Database

MySQL Database Full Course – Somo la 10: WHERE Clause – Jinsi ya Kuchagua Data Maalumu Katika MySQL

Karibu kwenye Somo la 10 la MySQL Database Full Course kwa Kiswahili.

Katika somo lililopita tulijifunza kutumia:

SELECT

kusoma data kutoka kwenye table.

Tuliona mifano kama:

SELECT * FROM students;

na:

SELECT student_name, gender
FROM students;

Lakini kuna tatizo moja.

SELECT pekee inaweza kutuonyesha records zote.

Mara nyingi hatuhitaji kuona kila record.

Tunaweza kutaka kuona:

  • Mwanafunzi mmoja
  • Wanafunzi wa kike pekee
  • Wanafunzi wa kiume pekee
  • Marks zilizo juu ya 50
  • Products zenye bei fulani
  • User mwenye ID maalumu
  • Shule kutoka mkoa fulani
  • Walimu wa subject maalumu

Hapo ndipo tunapotumia:

WHERE

Malengo ya Somo

Baada ya kumaliza somo hili utaweza:

  • Kuelewa WHERE ni nini
  • Kuchagua record kwa ID
  • Kuchagua records kwa jina
  • Kuchagua records kwa gender
  • Kutumia operator ya =
  • Kutumia >
  • Kutumia <
  • Kutumia >=
  • Kutumia <=
  • Kutumia !=
  • Kutumia <>
  • Kuchuja marks
  • Kuchuja prices
  • Kuchuja data maalumu kwenye table
  • Kuelewa umuhimu wa WHERE katika SELECT
  • Kuepuka makosa ya kawaida ya WHERE

1. WHERE ni Nini?

WHERE ni sehemu ya SQL query inayotumika kuchagua records zinazokidhi condition fulani.

Mfano:

SELECT *
FROM students
WHERE gender = 'Female';

Hii ina maana:

Onyesha wanafunzi wote ambao gender yao ni Female.


2. Structure ya WHERE

Muundo wa kawaida ni:

SELECT column_name
FROM table_name
WHERE condition;

Mfano:

SELECT *
FROM students
WHERE student_id = 1;

Hii itaonyesha mwanafunzi mwenye:

student_id = 1

3. Tutumie Table ya Students

Fikiria tuna table hii:

CREATE TABLE students (
    student_id INT PRIMARY KEY AUTO_INCREMENT,
    student_name VARCHAR(100),
    gender VARCHAR(10),
    age INT,
    phone_number VARCHAR(20)
);

Tumeingiza data:

INSERT INTO students (
    student_name,
    gender,
    age,
    phone_number
)
VALUES
('Asha Mussa', 'Female', 16, '0711111111'),
('John Peter', 'Male', 17, '0722222222'),
('Neema Joseph', 'Female', 15, '0733333333'),
('Peter Michael', 'Male', 18, '0744444444'),
('Anna Charles', 'Female', 17, '0755555555');

4. Kuonyesha Records Zote

Bila WHERE:

SELECT * FROM students;

Tunaweza kupata:

+------------+---------------+--------+-----+--------------+
| student_id | student_name  | gender | age | phone_number |
+------------+---------------+--------+-----+--------------+
| 1          | Asha Mussa    | Female | 16  | 0711111111   |
| 2          | John Peter    | Male   | 17  | 0722222222   |
| 3          | Neema Joseph  | Female | 15  | 0733333333   |
| 4          | Peter Michael | Male   | 18  | 0744444444   |
| 5          | Anna Charles  | Female | 17  | 0755555555   |
+------------+---------------+--------+-----+--------------+

5. Kuchagua Record kwa ID

Ikiwa tunataka mwanafunzi mwenye ID 2:

SELECT *
FROM students
WHERE student_id = 2;

Result inaweza kuwa:

+------------+--------------+--------+-----+--------------+
| student_id | student_name | gender | age | phone_number |
+------------+--------------+--------+-----+--------------+
| 2          | John Peter   | Male   | 17  | 0722222222   |
+------------+--------------+--------+-----+--------------+

Hii ni matumizi muhimu sana ya WHERE.


6. Operator ya =

Operator:

=

ina maana:

Sawa na

Mfano:

SELECT *
FROM students
WHERE age = 17;

Hii itaonyesha wanafunzi wenye age 17.


7. Kuchagua kwa Jina

Tunaweza kuandika:

SELECT *
FROM students
WHERE student_name = 'Asha Mussa';

Kwa text tunatumia quotes:

'Asha Mussa'

8. Kuchagua kwa Gender

SELECT *
FROM students
WHERE gender = 'Female';

Hii inaweza kurudisha:

Asha Mussa
Neema Joseph
Anna Charles

9. Kuchagua Male Students

SELECT *
FROM students
WHERE gender = 'Male';

10. Kuchagua Columns Maalumu na WHERE

Si lazima utumie:

SELECT *

Unaweza kuandika:

SELECT student_name, age
FROM students
WHERE gender = 'Female';

Hii inaweza kuonyesha:

+--------------+-----+
| student_name | age |
+--------------+-----+
| Asha Mussa   | 16  |
| Neema Joseph | 15  |
| Anna Charles | 17  |
+--------------+-----+

11. Operator ya >

Operator:

>

ina maana:

Kubwa kuliko

Mfano:

SELECT *
FROM students
WHERE age > 16;

Hii itaonyesha wanafunzi wenye age kubwa kuliko 16.

Kwa data yetu:

John Peter       17
Peter Michael    18
Anna Charles     17

12. Operator ya <

Operator:

<

ina maana:

Ndogo kuliko

Mfano:

SELECT *
FROM students
WHERE age < 17;

Result inaweza kuwa:

Asha Mussa       16
Neema Joseph     15

13. Operator ya >=

Operator:

>=

ina maana:

Kubwa kuliko au sawa na

Mfano:

SELECT *
FROM students
WHERE age >= 17;

Hii itaonyesha:

John Peter       17
Peter Michael    18
Anna Charles     17

14. Operator ya <=

Operator:

<=

ina maana:

Ndogo kuliko au sawa na

Mfano:

SELECT *
FROM students
WHERE age <= 16;

Result inaweza kuwa:

Asha Mussa       16
Neema Joseph     15

15. Operator ya !=

Operator:

!=

ina maana:

Si sawa na

Mfano:

SELECT *
FROM students
WHERE gender != 'Female';

Hii inaweza kuonyesha wanafunzi ambao gender yao si Female.

Kwa mfano:

John Peter
Peter Michael

16. Operator ya <>

Katika SQL unaweza pia kutumia:

<>

kwa maana ya:

Si sawa na

Mfano:

SELECT *
FROM students
WHERE gender <> 'Male';

Hii inaweza kuonyesha records ambazo gender si Male.


17. != na <> Zinafanana?

Kwa MySQL, operator hizi zinaweza kutumika kuonyesha “not equal”:

!=

na:

<>

Mfano:

SELECT *
FROM students
WHERE age != 17;

Au:

SELECT *
FROM students
WHERE age <> 17;

18. WHERE na Numbers

Numbers hazihitaji quotes.

Mfano:

SELECT *
FROM students
WHERE student_id = 3;

Au:

SELECT *
FROM students
WHERE age > 15;

19. WHERE na Text

Text kwa kawaida tunaiweka kwenye single quotes.

Mfano:

SELECT *
FROM students
WHERE student_name = 'Neema Joseph';

20. WHERE na Table ya Marks

Tutengeneze table:

CREATE TABLE marks (
    mark_id INT PRIMARY KEY AUTO_INCREMENT,
    student_name VARCHAR(100),
    subject VARCHAR(100),
    score DECIMAL(5,2)
);

Ingiza data:

INSERT INTO marks (
    student_name,
    subject,
    score
)
VALUES
('Asha Mussa', 'Mathematics', 85),
('John Peter', 'Mathematics', 42),
('Neema Joseph', 'Mathematics', 91),
('Peter Michael', 'Mathematics', 55),
('Anna Charles', 'Mathematics', 38);

21. Kuchagua Marks Zaidi ya 50

SELECT *
FROM marks
WHERE score > 50;

Result inaweza kuwa:

Asha Mussa       85
Neema Joseph     91
Peter Michael    55

22. Kuchagua Marks Chini ya 50

SELECT *
FROM marks
WHERE score < 50;

Result:

John Peter       42
Anna Charles     38

23. Marks Sawa na 85

SELECT *
FROM marks
WHERE score = 85;

24. Marks Kubwa au Sawa na 50

SELECT *
FROM marks
WHERE score >= 50;

Hii inaweza kutumika kwa mfano kuonyesha waliopata angalau 50.


25. Marks Chini au Sawa na 49

SELECT *
FROM marks
WHERE score <= 49;

26. WHERE na Products Table

Tutengeneze:

CREATE TABLE products (
    product_id INT PRIMARY KEY AUTO_INCREMENT,
    product_name VARCHAR(100),
    category VARCHAR(100),
    price DECIMAL(10,2),
    quantity INT
);

Ingiza data:

INSERT INTO products (
    product_name,
    category,
    price,
    quantity
)
VALUES
('Laptop', 'Electronics', 1500000, 5),
('Mouse', 'Electronics', 25000, 50),
('Keyboard', 'Electronics', 45000, 30),
('Office Chair', 'Furniture', 180000, 10),
('Desk', 'Furniture', 250000, 6);

27. Products Zenye Price Kubwa Kuliko 100000

SELECT *
FROM products
WHERE price > 100000;

28. Products Zenye Quantity Chini ya 10

SELECT *
FROM products
WHERE quantity < 10;

Hii inaweza kusaidia kwenye mfumo wa stock kujua products zinazokaribia kuisha.


29. Product ya Category Fulani

SELECT *
FROM products
WHERE category = 'Furniture';

30. WHERE na Teachers Table

Fikiria tuna:

Joseph Michael     Mathematics
Anna Charles       English
Peter John         Physics
Neema Mussa        Chemistry

Tunaweza kupata teacher wa Physics kwa:

SELECT *
FROM teachers
WHERE subject = 'Physics';

31. WHERE na student_id

Katika mfumo halisi, ID hutumika sana.

Mfano:

SELECT *
FROM students
WHERE student_id = 15;

Hii ndiyo pattern ambayo baadaye itaonekana kwenye PHP.

Mfano URL inaweza kuwa:

student.php?id=15

Na SQL concept inaweza kuwa:

SELECT *
FROM students
WHERE student_id = 15;

Katika PHP halisi tutatumia prepared statements na parameter binding.


32. WHERE Katika UPDATE

Ingawa bado hatujafika kwenye UPDATE, WHERE itakuwa muhimu sana.

Mfano:

UPDATE students
SET phone_number = '0766666666'
WHERE student_id = 2;

Hapa WHERE inaambia MySQL:

Badilisha record yenye student_id = 2 tu.

Bila WHERE unaweza kubadilisha records nyingi usizokusudia.

Tutajifunza UPDATE kwa undani katika somo lake.


33. WHERE Katika DELETE

Pia baadaye tutatumia:

DELETE FROM students
WHERE student_id = 2;

WHERE inasaidia kulenga record maalumu.

Bila WHERE:

DELETE FROM students;

inaweza kufuta records zote kutoka table.

Kwa hiyo WHERE ni sehemu muhimu sana ya SQL.


34. Makosa ya Kawaida – Kutumia = Vibaya

Beginner anaweza kuandika:

SELECT *
FROM students
WHERE gender == 'Female';

Katika MySQL condition ya kawaida ya equality tunatumia:

=

Sahihi:

SELECT *
FROM students
WHERE gender = 'Female';

35. Makosa ya Kawaida – Kusahau Quotes

Mfano mbaya:

SELECT *
FROM students
WHERE gender = Female;

Sahihi:

SELECT *
FROM students
WHERE gender = 'Female';

36. Makosa ya Kawaida – Quotes kwenye Numbers

Mfano:

SELECT *
FROM students
WHERE age = '17';

MySQL mara nyingi inaweza kufanya type conversion.

Lakini kwa numeric columns ni vizuri kuandika:

SELECT *
FROM students
WHERE age = 17;

37. Makosa ya Kawaida – Column Isiyopo

Mfano:

SELECT *
FROM students
WHERE class_name = 'Form One';

Lakini table haina column:

class_name

MySQL itatoa error.

Tumia:

DESC students;

kuangalia columns.


38. Makosa ya Kawaida – Table Isiyopo

Mfano:

SELECT *
FROM student
WHERE student_id = 1;

lakini table inaitwa:

students

Sahihi:

SELECT *
FROM students
WHERE student_id = 1;

39. WHERE na SELECT Columns Maalumu

Mfano:

SELECT
    student_name,
    phone_number
FROM students
WHERE gender = 'Female';

Hii ni nzuri zaidi kama tunahitaji taarifa chache tu.


40. Alias Pamoja na WHERE

Tunaweza kuandika:

SELECT
    student_name AS 'Student Name',
    age AS 'Student Age'
FROM students
WHERE age >= 17;

41. DISTINCT Pamoja na WHERE

Tunaweza pia kuchanganya:

SELECT DISTINCT gender
FROM students
WHERE age >= 16;

Hii inaonyesha genders tofauti ndani ya records zinazokidhi condition.


42. Query Order ya Msingi

Kwa sasa unaweza kukumbuka mpangilio huu:

SELECT columns
FROM table_name
WHERE condition;

Mfano:

SELECT student_name, age
FROM students
WHERE age >= 17;

43. Mfano wa Mfumo wa Shule

Fikiria mfumo una wanafunzi 10,000.

Admin hataki kuonyesha wote kila wakati.

Anaweza kutafuta mwanafunzi mwenye ID:

SELECT *
FROM students
WHERE student_id = 501;

Au female students:

SELECT *
FROM students
WHERE gender = 'Female';

Au students wenye age kubwa kuliko 17:

SELECT *
FROM students
WHERE age > 17;

44. Mfano wa Mfumo wa Marks

Academic teacher anaweza kutaka kuona:

Wanafunzi wenye marks 80 au zaidi:

SELECT student_name, score
FROM marks
WHERE score >= 80;

Au marks chini ya 50:

SELECT student_name, score
FROM marks
WHERE score < 50;

45. Mfano wa Mfumo wa Shop

Admin anaweza kutaka kuona products zenye stock ndogo:

SELECT product_name, quantity
FROM products
WHERE quantity <= 10;

Au products za Electronics:

SELECT *
FROM products
WHERE category = 'Electronics';

46. Mazoezi ya Somo

Tumia table ya students yenye columns:

student_id
student_name
gender
age
phone_number

Andika queries za:

  1. Kuonyesha student mwenye ID 3.
  2. Kuonyesha female students.
  3. Kuonyesha male students.
  4. Kuonyesha students wenye age 17.
  5. Kuonyesha students wenye age kubwa kuliko 16.
  6. Kuonyesha students wenye age chini ya 18.
  7. Kuonyesha students ambao age si 17.
  8. Kuonyesha student_name na age za students wenye age 17 au zaidi.

47. Challenge ya Somo

Tengeneza table:

employees

iwe na:

employee_id
employee_name
department
salary
age

Ingiza employees angalau sita.

Kisha andika queries za:

  1. Kuonyesha employees wote.
  2. Kuonyesha employee mwenye ID 2.
  3. Kuonyesha employees wa department ya IT.
  4. Kuonyesha employees wenye salary kubwa kuliko 500000.
  5. Kuonyesha employees wenye salary chini au sawa na 700000.
  6. Kuonyesha employees ambao department yao si HR.
  7. Kuonyesha employee_name na salary za employees wenye salary 600000 au zaidi.

Mfano:

SELECT employee_name, salary
FROM employees
WHERE salary >= 600000;

48. Maswali ya Kujipima

Jaribu kujibu:

  1. WHERE inatumika kufanya nini?
  2. Operator = ina maana gani?
  3. > ina maana gani?
  4. < ina maana gani?
  5. >= ina maana gani?
  6. <= ina maana gani?
  7. != ina maana gani?
  8. <> ina maana gani?
  9. Kwa nini text inawekwa kwenye quotes?
  10. Kwa nini WHERE ni muhimu katika UPDATE na DELETE?

49. Muhtasari wa Somo

Katika somo hili tumejifunza:

WHERE

ambayo inatumika kuchuja records kulingana na condition.

Mfano:

SELECT *
FROM students
WHERE gender = 'Female';

Tumejifunza operators muhimu:

=    sawa na
>    kubwa kuliko
<    ndogo kuliko
>=   kubwa kuliko au sawa na
<=   ndogo kuliko au sawa na
!=   si sawa na
<>   si sawa na

Mfano:

SELECT *
FROM marks
WHERE score >= 50;

Na:

SELECT student_name, age
FROM students
WHERE age > 16;

Sasa tunaweza kusoma data maalumu badala ya kuonyesha records zote.


Somo Linalofuata

Katika Somo la 11 tutajifunza:

AND, OR na NOT – Jinsi ya Kutumia Conditions Nyingi Katika MySQL

Tutajifunza:

  • AND
  • OR
  • NOT
  • Kuchanganya conditions nyingi
  • Female students wenye age fulani
  • Marks za subject fulani zilizo juu ya kiwango fulani
  • Kutumia parentheses
  • Tofauti ya AND na OR
  • Makosa ya kawaida
  • Mifano ya systems halisi
  • Mazoezi ya conditions

Hapo tutajifunza jinsi ya kuifanya WHERE iwe powerful zaidi kwa kutumia conditions zaidi ya moja.

🚀 Unahitaji mfumo au website ya biashara?

Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.

Share this post

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Quick Actions