ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

Operator ( ตัวดำเนินการ ) NOT (น็อต) การปฏิเสธค่า เปลี่ยนแปลงค่าฟังก์ชันต่าง ๆ ให้เป็นตรงกันข้าม

  Operator (โอเปอร์เรเตอร์)หรือ ตัวดำเนินการ ที่ใช้ในการดำเนินการทางคณิตศาสตร์หรือการเปรียบเทียบเป็นต้น นิยมใช้กันในภาษา SQL (เอสคิวแอล) เพื่อเป็นการกำหนดเงื่อนไขในคำสั่ง SQL (เอสคิวแอล) และทำหน้าที่เป็นตัวเชื่อมเงื่อนไขหลาย ๆ เงื่อนไขเข้าด้วยกัน 

โดยสามารถเรียงลำดับความสำคัญของตัวดำเนินการได้ดังนี้

1. ( ) 

2. NOT (น็อท)

3. AND (แอนด์)

4. ALL (ออล), BETWEEN (บีทวีน), IN (อิน), LIKE (ไลค์), OR (ออ)

NOT (น็อต) ใช้สำหรับในการปฏิเสธค่า เปลี่ยนแปลงค่าฟังก์ชันต่าง ๆ ให้เป็นตรงกันข้าม

• AND (แอนด์) ใช้สำหรับการเชื่อมเงื่อนไขที่เป็นจริง มากกว่า 2 เงื่อนไข

• ALL  (ออล) ใช้สำหรับเปรียบเทียบค่ากับค่าทั้งหมดร่วมกับ SUB QUERY (ซับ คิวรี่)

• BETWEEN...AND... (บีทวิน...แอนด์...) ใช้สำหรับกำหนดเงื่อนไขในการค้นหาค่าที่อยู่ระหว่างค่า ๆ หนึ่ง กับค่า ๆ หนึ่ง

• IN (อิน) ใช้สำหรับเปรียบเทียบค่าในที่อยู่ในกลุ่มที่กำหนด

• LIKE (ไลค์) ใช้สำหรับเปรียบเทียบตัวอักษร

• OR (ออ) ใช้สำหรับการเชื่อมโยงเงื่อนไขและต้องมีเงื่อนใขใดเงื่อนไขหนึ่งที่เป็นจริง

** SUB QUERY (ซับคิวรี่) คือการใช้คำสั่ง SELECT (ซีเล็คท์) ซ้อนคำสั่ง SELECT

ซึ่ง Operator บางตัวใน MySQL (มายเอาคิวแอล)  ไม่สามารถทำงานใน PostgreSQL  (โพสต์เกรสเอสคิวแอล)  ได้

 

การใช้ตัวดำเนินการ NOT การปฏิเสธค่า เปลี่ยนแปลงค่าฟังก์ชันต่าง ๆ ให้เป็นตรงกันข้าม

โค้ด :


NOT condition

อธิบายคำสั่ง

condition (คอนดิชั่น)  :  เงื่อนไขที่ต้องการจะปฏิเสธค่า

ตัวอย่าง :

SELECT *
FROM res_partner
WHERE name NOT IN ( 'Your Company', 'Administrator','Mediapole', 'Maxtor' );

ผลที่ได้ :

ชื่อที่อยู่ในคอลัมน์ name ตาราง res_patner 25 ชื่อ
ชื่อที่อยู่ในคอลัมน์ name ตาราง res_patner 25 ชื่อ
เมื่อทำการ NOT IN ในคอลัมน์ name
เมื่อทำการ NOT IN ในคอลัมน์ name

คำอธิบาย :

จากภาพที่ 1 เป็นรายชื่อในตาราง res_partner จำนวน 25 ชื่อ เราต้องการให้แสดงข้อมูลโดยที่ได้ต้องการชื่อ 'Your Company', 'Administrator', 'Mediapole', 'Maxtor' จำนวน 4 ชื่อนี้ ในกรอบสีแดงๆ

จะเห็นได้ว่า ในภาพที่ 2 ชื่อที่เราทำการ NOT IN (น็อต อิน) ไว้ หรือที่เราไม่ต้องให้แสดง ส่วนที่ขีดสีแดงไว้จะหายไป

เรายังสามารถใช้ NOT ร่วมกับตัวดำเนินการอื่นๆ ได้อีกหลายตัว เช่น 

-NULL (นัล)

SELECT *
FROM ชื่อตาราง
WHERE ชื่อคอลัมน์ IS NOT NULL;

-LIKE (ไลค์)

SELECT ชื่อคอลัมน์
FROM ชื่อตาราง
WHERE ชื่อคอลัมน์ NOT LIKE ‘ตัวอักษร%';

-BETWEEN…AND

SELECT *
FROM ชื่อตาราง
WHERE ชื่อคอลัมน์ NOT BETWEEN ค่าที่ 1 AND ค่าที่ 2 ;

-EXISTS (เอ็กสีซ)

SELECT *
FROM ชื่อตารางที่ 1
WHERE NOT EXISTS (SELECT * 
                  FROM ชื่อตารางที่ 2
                  WHERE ชื่อตารางที่ 1.ชื่อคอลัมน์ของตารางที่ 1 = ชื่อตารางที่ 2.ชื่อชื่อคอลัมน์ของตารางที่ 2 ที่เชื่อมกับตารางที่ 1);

สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ

โดย : http://www.mindphp.com