การใช้ Operator ในการค้นหาข้อมูล ด้วย SQL

January 9, 2008 – 11:21 pm

ภาษา SQL (สามารถอ่านออกเสียงได้ 2 แบบ คือ “เอสคิวแอล” (SQL) หรือ “ซีเควล” (Sequel)) ย่อ
มาจาก Structured Query Language หรือ ภาษาในการสอบถามข้อมูลเป็นภาษาทางด้านฐานข้อมูล ที่
สามารถสร้างและปฎิบัติการกับฐานข้อมูลแบบสัมพันธ์(relational database)โดยเฉพาะ และเปนภาษาที่มี
ลักษณะคล้ายกับภาษาอังกฤษ ภาษา SQLถูกพัฒนาขึ้นจากแนวคิดของ relational calculus และ relational
algebra เปนหลัก ภาษา SQL เริ่มพัฒนาครั้งแรกโดย almaden research center ของบริษัท IBM โดยมีชื่อ
เริ่มแรกว่า “ซีเควล” (Sequel) ต่อมาได้เปลี่ยนชื่อเป่น“เอสคิวแอล” (SQL) หลังจากนั้นภาษา SQLได้ถูกนํามา
พัฒนาโดยผู้ผลิตซอฟต์แวร์ด้านระบบจัดการฐานข้อมูลเชิงสัมพันธ์จนเปนที่นิยมกันอย่างแพร่หลายในปัจจุบัน โดยผู้ผลิตแต่ละรายก็พยายามที่จะพัฒนาระบบจัดการฐานข้อมูลของตนให้มีลักษณะเด่นเฉพาะขึ้นมา ทําให้รูปแบบการใช้คําสั่ง SQL มีรูปแบบที่แตกต่างกันไปบ้าง เช่น ORACLE ACCESS SQL Base ของ Sybase INGRESS หรือ SQL Server ของ Microsoft เป็นต้น ดังนั้นในปี ค.ศ. 1986 ทางด้าน American National Standards Institute (ANSI) จึงได้กําหนดมาตรฐานของ SQL ขึ้นอย่างไรก็ดี โปรแกรมฐานข้อมูลที่ขายในท้องตลาดได้ขยาย SQL ออกไปจนเกินข้อกําหนดของ ANSI โดยเพิ่มคุณสมบัติอื่นๆ ที่คิดว่าเปน
ประโยชน์เข้าไปอีก แต่โดยหลักทั่วไปแล้วก็ยังปฏิบัติตามมาตราฐานของ ANSI

การเพิ่มข้อมูลเข้าไปเรื่อยๆในตารางข้อมูล ถ้าข้อมูลมีไม่มากนัก ก็สามารถเรียกดูได้ไม่ยาก โดยการเรียกดูทั้งหมดหรือใช้ตาเลือกดูข้อมูลที่ต้องการ แต่ถ้าข้อมูลเพิ่มขึ้นเรื่อยๆ
จาก 10 เป็น 100 Record และ เป็น 10000 ในที่สุด การสืบค้นข้อมูลโดยวิธีดังกล่าวไม่สามารถทำได้ ภาษาSQL มีระบบการสืบค้นข้อมูลมาให้แล้ว
สามารถสืบค้นโดยการสร้างเงื่อนไขให้ตรงความต้องการ และเราจะได้ข้อมูลจากการสืบค้นตรงต่อความต้องการโดยไม่ยากเลย (ในส่วนนี้จะเกี่ยวข้องกับการกำหนดและใช้ Operator
ดังได้กล่าวในตอนที่แล้ว) โดยมีวิธีการอย่างคร่าวๆ ดังนี้

-การสืบค้นข้อมูลโดยไม่มีเงื่อนไข

- การสืบค้นข้อมูลโดยมีเงื่อนไข (Operator)

1. การสืบค้นข้อมูลโดยไม่มีเงื่อนไข

-ขอดูข้อมูลจากตารางทั้งหมด

-ขอดูข้อมูลบางส่วนในตารางทุก Record

        รูปแบบคำสั่งดังต่อไปนี้
รูปแบบคำสั่งสืบค้นข้อมูลโดยขอดูข้อมูลทั้งหมด table
        SELECT * FROM tablename;
        รูปแบบคำสั่งสืบค้นข้อมูลโดยขอดูข้อมูลบางส่วน (บาง field)
        SELECT fieldname FROM tablename;
        คำอธิบาย
       SELECT fieldname FROM tablename;
        SELECT คำสั่งเลือกข้อมูล
        fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย "*"
        FROM     จาก table อะไร
        tablename table ที่ต้องการสืบค้น
       ตัวอย่าง
       mysql>SELECT * FROM  phonebook;
       mysql>SELECT name,email FROM  phonebook;

  วิธีการทำ 1
        ให้สืบค้นข้อมูลโดยขอดูทั้งหมดทุก field ในตาราง phonebook ทุก Record
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook;
+----------+----------------------+---------+--------+----+
| name     | email                | phone   | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com |  223102 |  10000 |  1 |
| parinya  | parinya@thai.com     |  612069 |  20000 |  2 |
| somchai  | somchai@stjohn.com   | 9387059 |  30000 |  3 |
| sangchai | sangchai@chaiyo.com  | 7127000 |  50000 |  4 |
| somjai   | somjai@chaiyo.com    | 4410330 |  15000 |  5 |
| sangtong | sangtong@mco.net     |  975899 |  50000 |  6 |
+----------+----------------------+---------+--------+----+
6 rows in set (0.02 sec)
mysql>

วิธีการทำ 2
ให้สืบค้นข้อมูลโดยขอดูทั้งหมดเฉพาะ field name, email, ในตาราง phonebook ทุก Record ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT name,email FROM phonebook;
+----------+----------------------+
| name     | email                |
+----------+----------------------+
| passkorn | ccpasskn@hotmail.com |
| parinya  | parinya@thai.com     |
| somchai  | somchai@stjohn.com   |
| sangchai | sangchai@chaiyo.com  |
| somjai   | somjai@chaiyo.com    |
| sangtong | sangtong@mco.net     |
+----------+----------------------+
6 rows in set (0.01 sec)
mysql>

2.2 การสืบค้นข้อมูลโดยมีเงื่อนไข (Operator)
      การสืบค้นข้อมูลโดยมีเงื่อนไขจำเป็นต้องใช้ Operator เข้าช่วย การใช้ Operator สามารถใช้ได้ในโอกาสและสถานการณ์ที่แตกต่างกัน สามารถแยกการใช้ได้ดังนี้

1. การสืบค้นโดยใช้ Operator WHERE

2. การสืบค้นโดยใช้ Operator LIKE

3. การสืบค้นโดยใช้ Operator AND

4. การสืบค้นโดยใช้ Operator OR

5. การสืบค้นโดยใช้ Operator >

6. การสืบค้นโดยใช้ Operator >=

7. การสืบค้นโดยใช้ Operator <

8. การสืบค้นโดยใช้ Operator <=

9. การสืบค้นโดยใช้ Operator <>

2.1 การสืบค้นโดยใช้ Operator WHERE
รูปแบบคำสั่งดังต่อไปนี้
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator WHERE
        SELECT fieldname FROM tablename WHERE (fieldname='namerecord');
        คำอธิบาย
        SELECT fieldname FROM tablename WHERE (fieldname='namerecord');
        SELECT คำสั่งเลือกข้อมูล
       fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย "*"
        FROM    จาก table อะไร
        WHERE ข้อมูลที่ต้องการสืบค้น
       (fieldname=namerecord) field และ Record ที่ต้องการ
       ตัวอย่าง
       mysql>SELECT * FROM  phonebook WHERE name='passkorn';
วิธีการทำ
        ให้สืบค้นข้อมูลคนชื่อ passkorn โดยแสดงทุก field ในตาราง phonebook�
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE(name='passkorn');
+----------+----------------------+--------+--------+----+
| name     | email                | phone  | salary | ID |
+----------+----------------------+--------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 |  10000 |  1 |
+----------+----------------------+--------+--------+----+
1 row in set (0.01 sec)
mysql>

2.2 การสืบค้นโดยใช้ Operator  LIKE

1. Operator LIKE%

2. Operator %LIKE%

3. Operator %LIKE

รูปแบบคำสั่งดังต่อไปนี้
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator LIKE%
        SELECT fieldname FROM tablename WHERE (fieldname LIKE 'namerecord%');
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator %LIKE%
        SELECT fieldname FROM tablename WHERE (fieldname LIKE %'namerecord%');
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator %LIKE
       SELECT fieldname FROM tablename WHERE (fieldname LIKE '%namerecord');
        คำอธิบาย
        SELECT คำสั่งเลือกข้อมูล
        fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย "*"
        FROM จาก table อะไร
        LIKE ข้อมูลคล้ายที่ต้องการสืบค้น

namerecord% คือ record ที่ต้องการสืบค้นขึ้นต้นด้วยตัวอักษรที่กำหนดและตามด้วยอักษรอะไรก็ได้

%namerecord% คือ record ที่ต้องการสืบค้นขึ้นต้นด้วยตัวอักษรอะไรก็ได้ ตามด้วยที่กำหนด และตามด้วยอักษรอะไรก็ได้

%namerecord คือ record ที่ต้องการสืบค้นขึ้นต้นด้วยตัวอักษรอะไรก็ได้ และตามด้วยอักษรที่กำหนด

       ตัวอย่าง
       mysql>SELECT * FROM  phonebook WHERE (name LIKE 's%');
       mysql>SELECT * FROM  phonebook WHERE (name LIKE '%o%');
       mysql>SELECT * FROM  phonebook WHERE (name LIKE '%i');
วิธีการทำ 1
        ให้สืบค้นข้อมูลคนที่มีชื่อขึ้นต้นด้วย p และตามด้วยตัวอักษรอะไรก็ได้ โดยแสดงทุก field
ในตาราง phonebook�
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE (name LIKE 'p%');
+----------+----------------------+--------+--------+----+
| name     | email                | phone  | salary | ID |
+----------+----------------------+--------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 |  10000 |  1 |
| parinya  | parinya@thai.com     | 612069 |  20000 |  2 |
+----------+----------------------+--------+--------+----+
2 rows in set (0.00 sec)
mysql>

วิธีการทำ 2
ให้สืบค้นข้อมูลคนที่มีชื่อขึ้นต้นด้วยตัวอักษรอะไรก็ได้ และลงท้ายด้วย i โดยแสดงทุก field ในตาราง phonebook�
ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE (name LIKE '%i');
+----------+---------------------+---------+--------+----+
| name     | email               | phone   | salary | ID |
+----------+---------------------+---------+--------+----+
| somchai  | somchai@stjohn.com  | 9387059 |  30000 |  3 |
| sangchai | sangchai@chaiyo.com | 7127000 |  50000 |  4 |
| somjai   | somjai@chaiyo.com   | 4410330 |  15000 |  5 |
+----------+---------------------+---------+--------+----+
3 rows in set (0.01 sec)
mysql>

วิธีการทำ 3
ให้สืบค้นข้อมูลคนที่มีชื่อขึ้นต้นด้วยตัวอักษรอะไรก็ได้ ลงท้ายด้วยตัวอักษรอะไรก็ได้ แต่ระหว่างคำต้องตัวอักษร ch โดยแสดงทุก field ในตาราง phonebook�
ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE (name LIKE '%ch%');
+----------+---------------------+---------+--------+----+
| name     | email               | phone   | salary | ID |
+----------+---------------------+---------+--------+----+
| somchai  | somchai@stjohn.com  | 9387059 |  30000 |  3 |
| sangchai | sangchai@chaiyo.com | 7127000 |  50000 |  4 |
+----------+---------------------+---------+--------+----+
2 rows in set (0.00 sec)
mysql>

2.3 การสืบค้นโดยใช้ Operator AND

รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator AND
SELECT fieldname FROM tablename WHERE
(fieldname1=’namerecord1′)AND(fieldname3=’namerecord2′);

        คำอธิบาย
        SELECT fieldname FROM tablename WHERE
        (fieldname1='namerecord1')AND(fieldname3='namerecord2');
        SELECT คำสั่งเลือกข้อมูล
        fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย "*"
        FROM    จาก table อะไร
        WHERE  ที่ที่ต้องการสืบค้นข้อมูล
       (fieldname1=namerecord1) field และ Record ที่ต้องการสืบค้น
       AND เงื่อนไขและ หมายความว่าต้องเป็นจริงทั้งสองเหตุการณ์จึงจะแสดงผล
       (fieldname2=namerecord2) field และ Record ที่ต้องการสืบค้น
       ตัวอย่าง
       mysql>SELECT *  FROM phonebook WHERE

mysql>(name=’passkorn’)AND(phone=’223102′);

วิธีการทำ 1
ให้สืบค้นข้อมูลคนชื่อ passkorn และมีโทรศัพท์หมายเลข 223102 ในตาราง phonebook
ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE
    -> (name='passkorn') AND (phone=223102);
+----------+----------------------+--------+--------+----+
| name     | email                | phone  | salary | ID |
+----------+----------------------+--------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 |  10000 |  1 |
+----------+----------------------+--------+--------+----+
1 row in set (0.00 sec)
mysql>

วิธีการทำ 2
ให้สืบค้นข้อมูลคนชื่อ passkorn และมีโทรศัพท์หมายเลข 612069 ในตาราง phonebook
ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE
-> (name='passkorn') AND (phone=612069);
Empty set (0.00 sec)
mysql>


       จะเห็นว่าเมื่อสืบค้นโดยใช้ Operator AND พบคนชื่อ passkorn และมีหมายเลขโทรศัพท์ 223102 แต่เมื่อสืบค้นใหม่ ไม่พบคนชื่อ passkorn และมีหมายเลขโทรศัพท์ 612069 สามารถสรุปได้ว่า เหตุการณ์ทั้งสองระหว่าง AND ต้องเป็นจริงเสมอจึงจะแสดงผลออกมา
2.4 การสืบค้นโดยใช้ Operator  OR
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator OR
        SELECT fieldname FROM tablename WHERE (fieldname1='namerecord1') OR
(fieldname3='namerecord2');
        คำอธิบาย
       SELECT คำสั่งเลือกข้อมูล

fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย “*”

FROM จาก table อะไร

WHERE ที่ที่ต้องการสืบค้นข้อมูล

(fieldname1=namerecord1) field และ Record ที่ต้องการสืบค้น

OR เงื่อนไขหรือ หมายความว่าต้องเป็นจริงเหตุการณ์ใดเหตุการณ์จึงจะแสดงผล

(fieldname2=namerecord2) field และ Record ที่ต้องการสืบค้น

       ตัวอย่าง
       mysql>SELECT *  FROM phonebook WHERE
        mysql>(name='passkorn') OR (phone='223102');
  วิธีการทำ 1
        ให้สืบค้นข้อมูลคนชื่อ passkorn หรือมีโทรศัพท์หมายเลข 223102 ในตาราง phonebook





        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE
    -> (name='passkorn') OR (phone=223102);
+----------+----------------------+--------+--------+----+
| name     | email                | phone  | salary | ID |
+----------+----------------------+--------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 |  10000 |  1 |
+----------+----------------------+--------+--------+----+
1 row in set (0.00 sec)
mysql>

วิธีการทำ 2
        ให้สืบค้นข้อมูลคนชื่อ passkorn หรือมีโทรศัพท์หมายเลข 612069 ในตาราง phonebook
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE
    -> (name='passkorn') OR (phone=612069);
+----------+----------------------+--------+--------+----+
| name     | email                | phone  | salary | ID |
+----------+----------------------+--------+--------+----+
| passkorn | ccpasskn@hotmail.com | 223102 |  10000 |  1 |
+----------+----------------------+--------+--------+----+
1 row in set (0.00 sec)
mysql>

       จะเห็นว่าสืบค้นคนชื่อ passkorn หรือหมายเลขโทรศพท์ 223102 โดยใช้ Operator OR พบข้อมูล แต่เมื่อสืบค้นใหม่ ก็ยังพบคนชื่อ passkorn  สามารถสรุปได้ว่า เหตุการณ์ระหว่าง OR เป็นจริงเหตุการณ์ใดเหตุการณ์หนึ่งก็สามารถแสดงผลออกมาได้
2.5 การสืบค้นโดยใช้ Operator >
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator >
        SELECT fieldname FROM tablename WHERE fieldname > data;
คำอธิบาย

SELECT คำสั่งเลือกข้อมูล
fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย “*”
FROM จาก table อะไร
WHERE ที่ที่ต้องการสืบค้นข้อมูล

fieldname > data field ที่ต้องการให้แสดงผลว่า มากกว่า ข้อมูลที่กำหนด

data คือข้อมูลที่กำหนด

ตัวอย่าง
       mysql>SELECT *  FROM phonebook WHERE (salary > '20000');
  วิธีการทำ
        ให้สืบค้นข้อมูลคนที่มีเงือนเดือนมากกว่า 20000 บาท�
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE (salary>20000);
+----------+---------------------+---------+--------+----+
| name     | email               | phone   | salary | ID |
+----------+---------------------+---------+--------+----+
| somchai  | somchai@stjohn.com  | 9387059 |  30000 |  3 |
| sangchai | sangchai@chaiyo.com | 7127000 |  50000 |  4 |
| sangtong | sangtong@mco.net    |  975899 |  50000 |  6 |
+----------+---------------------+---------+--------+----+
3 rows in set (0.01 sec)
mysql>

2.6 การสืบค้นโดยใช้ Operator >=
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator > =
        SELECT fieldname FROM tablename WHERE fieldname > = data;
คำอธิบาย

SELECT คำสั่งเลือกข้อมูล
fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย “*”
FROM จาก table อะไร
WHERE ที่ที่ต้องการสืบค้นข้อมูล

fieldname >= data field ที่ต้องการให้แสดงผลว่า มากกว่าเท่ากับ ข้อมูลที่กำหนด

data คือข้อมูลที่กำหนด

ตัวอย่าง
mysql>SELECT *  FROM phonebook WHERE (salary >= '20000');
วิธีการทำ
        ให้สืบค้นข้อมูลที่มีเงือนเดือนมากกว่าเท่ากับ 20000 บาท�
        ผลลัพธ์ที่ได้ดังภาพข้างล่าง

mysql>
mysql> SELECT * FROM phonebook WHERE (salary>=20000);
+----------+---------------------+---------+--------+----+
| name     | email               | phone   | salary | ID |
+----------+---------------------+---------+--------+----+
| parinya  | parinya@thai.com|612069 |  20000 |  2 |
| somchai | somchai@stjohn.com|9387059|30000| 3 |
| sangchai| sangchai@chaiyo.com|7127000|50000|4 |
| sangtong | sangtong@mco.net  |975899 |50000| 6 |
+----------+---------------------+---------+--------+----+
4 rows in set (0.00 sec)
mysql>

2.7 การสืบค้นโดยใช้ Operator <
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator <
        SELECT fieldname FROM tablename WHERE fieldname < data;
คำอธิบาย

SELECT คำสั่งเลือกข้อมูล
fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย “*”
FROM จาก table อะไร
WHERE ที่ที่ต้องการสืบค้นข้อมูล

fieldname < data field ที่ต้องการให้แสดงผลว่า น้อยกว่า ข้อมูลที่กำหนด

data คือข้อมูลที่กำหนด

ตัวอย่าง
       mysql>SELECT *  FROM phonebook WHERE (salary < '20000');

วิธีการทำ
ให้สืบค้นข้อมูลคนที่มีเงือนเดือนน้อยกว่า 20000 บาท

ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE (salary<20000);
+----------+----------------------+---------+--------+----+
| name     | email                | phone   | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com |  223102 |  10000 |  1 |
| somjai   | somjai@chaiyo.com    | 4410330 |  15000 |  5 |
+----------+----------------------+---------+--------+----+
2 rows in set (0.00 sec)
mysql>


2.8 การสืบค้นโดยใช้ Operator <=
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator < =
        SELECT fieldname FROM tablename WHERE fieldname <= data;
คำอธิบาย

SELECT คำสั่งเลือกข้อมูล
fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย “*”
FROM จาก table อะไร
WHERE ที่ที่ต้องการสืบค้นข้อมูล

fieldname <= data field ที่ต้องการให้แสดงผลว่า น้อยกว่าเท่ากับ ข้อมูลที่กำหนด

data คือข้อมูลที่กำหนด

ตัวอย่าง

mysql>SELECT * FROM phonebook WHERE (salary <= ‘20000′);
วิธีการทำ
ให้สืบค้นข้อมูลคนที่มีเงือนเดือนน้อยกว่ากับ 20000 บาท

ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE (salary<=20000);
+----------+----------------------+---------+--------+----+
| name     | email                | phone   | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com |  223102 |  10000 |  1 |
| parinya  | parinya@thai.com     |  612069 |  20000 |  2 |
| somjai   | somjai@chaiyo.com    | 4410330 |  15000 |  5 |
+----------+----------------------+---------+--------+----+
3 rows in set (0.00 sec)
mysql>


9. การสืบค้นโดยใช้ Operator <>
รูปแบบคำสั่งสืบค้นข้อมูลโดยใช้ Operator >
SELECT fieldname FROM tablename WHERE fieldname <> data;

  คำอธิบาย
        SELECT คำสั่งเลือกข้อมูล
        fieldname field ที่ต้องการ ถ้าต้องการทุก field ให้ใช้เครื่องหมาย "*"
        FROM    จาก table อะไร
        WHERE ที่ที่ต้องการสืบค้นข้อมูล

fieldname <> data field ที่ต้องการให้แสดงผลว่า ไม่เท่ากับ ข้อมูลที่กำหนด

data คือข้อมูลที่กำหนด

ตัวอย่าง

mysql>SELECT *  FROM phonebook WHERE (salary <> '20000');

วิธีการทำ
ให้สืบค้นข้อมูลคนที่มีเงือนเดือนไม่เท่ากับ 20000 บาท�
ผลลัพธ์ที่ได้ดังภาพข้างล่าง


mysql>
mysql> SELECT * FROM phonebook WHERE (salary<>20000);
+----------+----------------------+---------+--------+----+
| name     | email                | phone   | salary | ID |
+----------+----------------------+---------+--------+----+
| passkorn | ccpasskn@hotmail.com |  223102 |  10000 |  1 |
| somchai  | somchai@stjohn.com   | 9387059 |  30000 |  3 |
| sangchai | sangchai@chaiyo.com  | 7127000 |  50000 |  4 |
| somjai   | somjai@chaiyo.com    | 4410330 |  15000 |  5 |
| sangtong | sangtong@mco.net     |  975899 |  50000 |  6 |
+----------+----------------------+---------+--------+----+
5 rows in set (0.00 sec)
mysql>

สำหรับผมแล้ว ภาษา sql มีความจำเป็นต่อการเขียนโปรแกรม ติดต่อกับฐานข้อมูลเป็นอย่างมาก หากเรามีความรู้ทางด้านนี้แน่นมากพอ ผมเชื่อว่าจะทำให้เราสามารถ พัฒนาโปรแกรมได้อย่างมากมาย เพราะสิ่งสำคัญกับการทำงานกับฐานข้อมูล มันก็คือการที่เราจะทำอย่างไร เพื่อที่จะสามารถ query ข้อมูลออกมาได้อย่างที่ใจนึก
และภาษา sql ก็สามารถนำไปใช้งานได้กับหลายๆ DBMSไม่ใช่เฉพาะ mySQL เท่านั้น ถึงแตกต่าง ก็ไม่มากเท่าไรหรอกครับ …

  1. BiRDXCiTE posted the following on April 29, 2008 at 6:06 am.

    ยาวหน่อยนะฮะ


Leave a reply

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:

  1. You will post the following soon.
    Go ahead and start typing.