ให้เรตสมาชิก: 0 / 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
วิธีแก้ error UnicodeDecodeError: 'ascii' ด้วย ตัวแปล,encode('utf-8','ignore') ปัญหาจากข้อมูลที่เป็นภาษาไทย
โดย thatsawan ส 25 มี.ค. 2017 3:23 pm บอร์ด OpenERP
0
3
ส 25 มี.ค. 2017 3:23 pm โดย thatsawan
วิธีเปลี่ยนรูปแบบวันที่ ปี- เดือน - วัน เวลา [2017-02-23 05:00:00] -> วัน - เดือน - ปี [23 - 02 -2017]
โดย thatsawan ส 25 มี.ค. 2017 3:04 pm บอร์ด OpenERP
0
1
ส 25 มี.ค. 2017 3:04 pm โดย thatsawan
วิธีเปิด debug เเละวิธีการใช้ _logger.debug
โดย thatsawan ส 25 มี.ค. 2017 2:43 pm บอร์ด OpenERP
0
2
ส 25 มี.ค. 2017 2:43 pm โดย thatsawan
วิธีการสร้าง USB boot(ยูเอสบี บูท) บนระบบปฏิบัติการ Ubuntu(ยูบันตู)
โดย bom_002 ส 25 มี.ค. 2017 11:50 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
5
ส 25 มี.ค. 2017 11:50 am โดย bom_002
วิธีการ format(ฟอแมต) และลบ partition(พาสดิชัน) ของ USB disk(ยูเอสบี ดิส) ด้วย command line(คอมมาน ไล)
โดย bom_002 ส 25 มี.ค. 2017 11:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
10
ส 25 มี.ค. 2017 11:13 am โดย bom_002
รายงานประจำวันที่ 25 มีนาคม 2560
โดย bom_002 ส 25 มี.ค. 2017 10:11 am บอร์ด M043 - นพรัตน์ เกษเจริญคุณ
0
3
ส 25 มี.ค. 2017 10:11 am โดย bom_002
ต้องการจัดทำระบบ CRM ค่ะต้องทำยังไงบ้างคะ อย
โดย Sawika Maekai ส 25 มี.ค. 2017 4:13 am บอร์ด Programming - PHP
1
9
ส 25 มี.ค. 2017 4:13 am โดย mindphp
อยากสอบถามเรื่องการทำโปรแกรม CRM ค่ะ
โดย Sawika Maekai ส 25 มี.ค. 2017 4:12 am บอร์ด Programming - PHP
0
3
ส 25 มี.ค. 2017 4:12 am โดย Sawika Maekai
ติดตั้ง Pycharm(ไพชาม) บนระบบปฏิบัติการ Ubuntu(อูบันตู)
โดย bom_002 ศ 24 มี.ค. 2017 8:24 pm บอร์ด Linux - Web Server
0
12
ศ 24 มี.ค. 2017 8:24 pm โดย bom_002
R - List module OpenERP และ Odoo
โดย M032 ศ 24 มี.ค. 2017 7:14 pm บอร์ด shop.mindphp.com
0
2
ศ 24 มี.ค. 2017 7:14 pm โดย M032
ติดตั้ง Ubuntu จาก Linux
โดย bom_002 ศ 24 มี.ค. 2017 5:35 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
6
ศ 24 มี.ค. 2017 5:35 pm โดย bom_002
เข้า BIOS / BOOT MENU(ไอออส บูทเมนู) ใน PC & NB ยี่ห้อต่าง ๆ
โดย bom_002 ศ 24 มี.ค. 2017 3:19 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
13
ศ 24 มี.ค. 2017 3:19 pm โดย bom_002
B - สมัครผ่านไลน์ไม่ได้
โดย M032 ศ 24 มี.ค. 2017 11:28 am บอร์ด Hachana - E-commerce
1
3
ศ 24 มี.ค. 2017 11:28 am โดย tsukasaz
ฺB - ใช้ user register facebook ซื้อสินค้าแล้ว order ไม่เข้า odoo
โดย M032 ศ 24 มี.ค. 2017 11:15 am บอร์ด Hachana - E-commerce
1
4
ศ 24 มี.ค. 2017 11:15 am โดย tsukasaz
B - หน้ายืนยันการสั่งซื้อ Warning: Invalid argument supplied for foreach()
โดย M032 ศ 24 มี.ค. 2017 11:14 am บอร์ด Hachana - E-commerce
1
5
ศ 24 มี.ค. 2017 11:14 am โดย tsukasaz
รายงานประจำวันที่ 24 มีนาคม 2560
โดย bom_002 ศ 24 มี.ค. 2017 10:09 am บอร์ด M043 - นพรัตน์ เกษเจริญคุณ
1
5
ศ 24 มี.ค. 2017 10:09 am โดย bom_002
โชว์หมายเลขบรรทัดตลอดใน Pycharm ยังไงครับ
โดย bom_002 พฤ 23 มี.ค. 2017 10:19 am บอร์ด Programming - C/C++ & java & Python
2
36
พฤ 23 มี.ค. 2017 10:19 am โดย bom_002
รายงานประจำวันที่ 23 มีนาคม 2560
โดย bom_002 พฤ 23 มี.ค. 2017 10:06 am บอร์ด M043 - นพรัตน์ เกษเจริญคุณ
1
3
พฤ 23 มี.ค. 2017 10:06 am โดย bom_002
การอินเตอร์รัพท์ และการออกแบบ Interrupt and Design(อินเตอร์รัพท์ แอน ดีไช)
โดย bom_002 พ 22 มี.ค. 2017 11:20 am บอร์ด Microsoft Office Knowledge & line & Etc
0
20
พ 22 มี.ค. 2017 11:20 am โดย bom_002
รายงานประจำวันที่ 22 มีนาคม 2560
โดย bom_002 พ 22 มี.ค. 2017 10:04 am บอร์ด M043 - นพรัตน์ เกษเจริญคุณ
2
14
พ 22 มี.ค. 2017 10:04 am โดย bom_002