Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 104,066

HOME > ASP > SQL Tutorial (Part 2) > SQL SELECT ... WHERE,AND,OR,NOT,IN,LIKE




SQL SELECT ... WHERE,AND,OR,NOT,IN,LIKE

SQL SELECT ... WHERE

คำสั่ง SQL SELECT ... WHERE เป็นคำสั่งในการค้นหาแบบมีเงื่อนไขซึ่งในวลี WHERE จะมีส่วนสำคัญอยู่ 2 ส่วนคือ

- ส่วนแรกเป็น โอเปอเรเตอร์ที่ใช้ในการเชื่อมเงื่อนไขหลาย ๆเงื่อนไขไว้ด้วยกัน ดังตารางต่อไปนี้
 

โอเปอเรเตอร์ คำอธิบาย
NOT มีความหมายเป็น "ไม่" ใช้ในการเปลี่ยนค่าความจริงของ search_condition ให้เป็นตรงกันข้าม
OR มีความหมายเป็น "หรือ" โดย Record ที่เลือกมาขอแค่ให้ตรงตามเงื่อนไขเพียง 1 เงื่อนไขก็พอ
AND มีความหมายเป็น "และ" โดย Record ที่เลือกมาต้องให้ตรงตามเงื่อนไขทุกเงื่อนไข
 
- ส่วนที่2 เป็นโอเปอเรเตอร์ที่ใช้ในแต่ละเงื่อนไขเพื่อกำหนดเงื่อนไขของ Record ที่ถูกเลือกขึ้นมาโดยมีโอเปอเรเตอร์ที่ใช้งานดังตารางนี้
 

โอเปอเรเตอร์ คำอธิบาย
= เท่ากับ
<> , != ไม่เท่ากับ
> มากกว่า
>= มากกว่าหรือเท่ากับ
!> ไม่มากกว่า
< น้อยกว่า
<= น้อยกว่าหรือเท่ากับ
!< ไม่น้อยกว่า
[NOT] BETWEEN ... AND ระหว่าง
[NOT] IN เลือกเฉพาะในค่าที่กำหนด
[NOT] LIKE ใช้ในการเปรียบเทียบคำในรูปแบบ String เพื่อหาคำที่ต้องการ
[NOT] NULL เลือกข้อมูลมี่ค่าเป็น NULL
 
Note: ในบางเวอร์ชั่นของ SQL โอเปอร์เรเตอร์ <> ก็จะใช้เป็นเครื่องหมายนี้ != แทน

ดังตัวอย่าง test_select_where.asp

  strSQL = "SELECT Profile_ID, Profile_Name, Profile_Location "
  strSQL = strSQL & "FROM Profile "
  strSQL = strSQL & "WHERE Profile_ID >= 3 AND Profile_ID <= 10 " 
  strSQL = strSQL & "ORDER BY Profile_ID ASC;"


จากคำสั่งด้านบนเป็นการเลือกค่าฟิลด์ Profile_ID, Profile_Name, Profile_Location ในตาราง Profile โดยมีข้อกำหนดว่า ค่าที่แสดงนั้นต้องเป็นค่าที่ Profile_ID น้อยกว่าหรือเท่ากับ 3 และ Profile_ID มากกว่าหรือเท่ากับ 10 ดังนั้นค่าที่แสดงออกมาจะอยู่ในช่วงของ Profile_ID ที่ 3 - 10 และเรียงลำดับจากน้อยไปหามากตาม Profile_ID ซึ่งจะได้ผลดังนี้

Profile_ID Profile_Name Profile_Location
3 user3 Jagata
4 user4 Hongkong
5 user5 Hongkong
6 user6 Hongkong
7 user7 Hongkong
8 user8 Hongkong
9 user9 Bangkok
10 user10 London


SQL SELECT ... WHERE...IN (n, n)

สำหรับตัวอย่างนี้ผมจะใช้งาน โอเปอเรเตอร์ IN เพื่อเลือกค่าในฟิลด์ Phofile_Location ที่เป็น Hongkong และ Jagata โดยการใช้งาน โอเปอเรเตอร์ IN oนจะเป็นการใช้งานเพื่อเลือกเฉพาะรายการที่เรากำหนดไว้ ดังนี้

test_select_where_in.asp

  strSQL = "SELECT Profile_ID, Profile_Name, Profile_Age "
  strSQL = strSQL & "FROM Profile "
  strSQL = strSQL & "WHERE Profile_Age IN (23, 34) " 
  strSQL = strSQL & "ORDER BY Profile_ID ASC;"


 จากคำสั่งด้านบนเป็นการเลือกค่าฟิลด์ Profile_ID, Profile_Name, Profile_Age ในตาราง Profile โดยมีข้อกำหนดว่า ค่าที่แสดงนั้นต้องเป็นค่าที่ Profile_Age มีค่า 23, 34 เท่านั้น และเรียงลำดับจากน้อยไปหามากตาม Profile_ID ซึ่งจะได้ผลดังนี้

Profile_ID Profile_Name Profile_Age
1 user1 23
5 user5 34
7 user7 23
9 user9 34



SQL SELECT ... WHERE...LIKE.....Wildcards

          เราสามารถใช้งานโอเปอเรเตอร์ LIKE ร่วมกับ Wildcards ซึ่งเป็นสัญลักษณที่ใช้แทนตัวอักษรต่างๆ เพียงบางส่วนในข้อมูล String ในการเลือกได้เช่น ให้แสดงชื่อที่ขึ้นต้นด้วย A เท่านั้น โดยสัญลักษณและความหมายต่างๆของ Wildcards มีดังนี้


Wildcards คำอธิบาย
- (ขีด) ใช้แทนตัวอักษรตัวใดตัวหนึ่งของ String
% ใช้แทนข้อความอะไรก็ได้
[ ] ใช้แทนตัวอักษรเฉพาะบางตัวเช่น [abcde] หรือเป็นช่วงก็ได้เช่น [a - e]
[^] มีความหมายตรงกันข้ามกับ [ ]
 

ในตัวอย่างแรกเราจะมาทดลองการใช้งาน Wildcards ในการเลือกค่าในฟิลด์ Author_Password ที่มี ตัวเลข 11 อยู่ในตารางดังนี้

test_select_where_like.asp

ตัวอย่างแรก

  strSQL = "SELECT Author_ID, Author_UserName, Author_Password "
  strSQL = strSQL & "FROM Author "
  strSQL = strSQL & "WHERE Author_Password LIKE '%11%' " 
  strSQL = strSQL & "ORDER BY Author_ID ASC;"


 จากคำสั่งด้านบนเป็นการเลือกค่าฟิลด์ Author_ID, Author_UserName, Author_Password ในตาราง Author โดยมีข้อกำหนดว่า ค่าที่แสดงนั้นต้องเป็นค่าที่ Author_Password มีตัวเลข 11 เป็นส่วนประกอบและอยู่ตำแหน่งที่เท่าไหร่ก็ได้ และเรียงลำดับจากน้อยไปหามากตาม Author_ID ซึ่งจะได้ผลดังนี้


Author_ID Author_UserName Author_Password
4 user4 161183
7 user7 799116
9 user9 464119


 ตัวอย่างที่2

  strSQL = "SELECT Author_ID, Author_UserName, Author_Password "
  strSQL = strSQL & "FROM Author "
  strSQL = strSQL & "WHERE Author_Password LIKE '4[0-5]%' " 
  strSQL = strSQL & "ORDER BY Author_ID ASC;"


 จากคำสั่งด้านบนเป็นการเลือกค่าฟิลด์ Author_ID, Author_UserName, Author_Password ในตาราง Author โดยมีข้อกำหนดว่า ค่าที่แสดงนั้นต้องเป็นค่าที่ Author_Password มีตัวเลขที่ขึ้นต้นด้วย4 และลำดับที่ 2 ต้องเป็น 0-5 โดยที่ลำดับต่อจากนั้นจะเป็นอะไรก็ได้  และเรียงลำดับจากน้อยไปหามากตาม Author_ID ซึ่งจะได้ผลดังนี้



Author_ID Author_UserName Author_Password
1 user1 402041
6 user6 441468
8 user8 433481
9 user9 446119
10 user10 404030









   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2008-08-10 16:01:18 / 2012-05-30 21:08:56
  Download : No files
 Sponsored Links / Related

 
What SQL ?
Rating :

 
Database & Connection
Rating :

 
SQL CREATE TABLE
Rating :

 
SQL ALTER TABLE ( ADD,DROP )
Rating :

 
SQL DROP TABLE
Rating :

 
SQL INSERT
Rating :

 
SQL SELECT , FROM, TOP, ORDER BY
Rating :

 
SQL SELECT DISTINCT, AS
Rating :

 
SQL SELECT GROUP BY and HAVING
Rating :

 
SQL GROUP BY and HAVING
Rating :

 
SQL JOIN TABLE
Rating :

 
SQL SELECT INNER JOIN
Rating :

 
SQL SELECT SUBQUERY
Rating :

 
SQL INSERT INTO
Rating :


ThaiCreate.Com Forum




Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   


Acc : thaicreate@hotmail.com










Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2017 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่