SQL WHERE ข้อสำหรับการกรองข้อมูล

ในบทช่วยสอนนี้ เราจะพูดถึงว่า SQL WHERE clause คืออะไร และใช้งานอย่างไร นอกจากนี้ เราจะพูดถึงหลายเงื่อนไขโดยใช้ตัวดำเนินการ  ANDและOR

ส่วนคำสั่ง SQL WHEREใช้สำหรับกรองข้อมูลหรือบันทึก ใช้เพื่อสร้างเงื่อนไขเพื่อแยกเฉพาะระเบียนที่จำเป็นเท่านั้น 

นอกเหนือจากการใช้WHERE clause ใน คำสั่ง SELECTแล้ว เรายังสามารถใช้กับคำสั่งUPDATE , DELETEและSQL อื่นๆ ได้อีกด้วย อย่างไรก็ตาม สำหรับบทช่วยสอนนี้ เราจะใช้ในคำสั่งSELECT เท่านั้น

สารบัญ

การเลือกอย่างง่ายโดยใช้ SQL WHERE Clause

หากไม่ใช้WHERE clause ใน คำสั่ง SELECTก็จะคืนแถวทั้งหมดจากตารางใดตารางหนึ่ง

SQL WHERE ข้อสำหรับการกรองข้อมูล

สำหรับตัวอย่างนี้ เราต้องการรับข้อมูลที่มีหมวดหมู่แกดเจ็ต เท่านั้น

SQL WHERE ข้อสำหรับการกรองข้อมูล


ดังนั้น เราต้องใช้ คำสั่ง WHEREเพื่อจำกัดผลลัพธ์ ในตัวอย่างนี้ เราสร้างเงื่อนไขว่าควรตรวจสอบคอลัมน์Categoryและส่งกลับระเบียนเฉพาะในกรณีที่Categoryเป็นGadgets

SQL WHERE ข้อสำหรับการกรองข้อมูล

โปรดทราบว่าเมื่อใช้สตริง เราจำเป็นต้องใส่เครื่องหมายอัญประกาศเดี่ยว ( ' '

เมื่อใช้ตัวเลขหรือจำนวนเต็ม เราไม่จำเป็นต้องใช้เครื่องหมายอัญประกาศเดี่ยว ตัวอย่างเช่น เราต้องการดึงระเบียนที่ราคาน้อยกว่าหรือเท่ากับ 30

ดังนั้น เราแค่ต้องสร้างคิวรีที่ควรตรวจสอบ คอลัมน์ ราคาและส่งกลับแถวเหล่านั้นด้วยค่า 30 หรือน้อยกว่า 30 อย่างที่คุณเห็น เราไม่ได้ใส่ตัวเลขไว้ในเครื่องหมายอัญประกาศเดี่ยวด้วยเพราะมันเป็น จำนวนเต็ม

SQL WHERE ข้อสำหรับการกรองข้อมูล

SQL WHERE ประโยคที่มีตัวดำเนินการ AND

เรายังสามารถใช้ ส่วนคำสั่ง WHEREกับหลายคอลัมน์ร่วมกับตัวดำเนินการANDและOR

ตัว ดำเนินการ ANDจะทำงานหากทั้งสองเงื่อนไขเป็นTRUE ดังนั้นจึงใช้เพื่อรับบันทึกที่มีหลายเงื่อนไขเป็นTRUE

ตัวอย่างเช่น ในสถานการณ์นี้ เราต้องการระเบียนที่ผู้ผลิตคือ GizmoWorks และราคาน้อยกว่า 20  

SQL WHERE ข้อสำหรับการกรองข้อมูล

เราได้สร้างเงื่อนไขหลายเงื่อนไขด้วย คำสั่ง WHEREร่วมกับ ตัวดำเนินการ ANDตามที่แสดงในภาพ

SQL WHERE ข้อสำหรับการกรองข้อมูล

บนโต๊ะของเรา เรามี 2 แถวที่มีผู้ผลิต GizmoWorks อย่างไรก็ตาม ราคาของแถวที่ 2 มากกว่า 20 ดังนั้น ผลลัพธ์จะส่งกลับเฉพาะแถวที่คืนค่าจริงกับ 2 เงื่อนไขที่เราตั้งไว้เท่านั้น 

SQL WHERE ข้อสำหรับการกรองข้อมูล

SQL WHERE ประโยคที่มีตัวดำเนินการ OR

ตัวดำเนินการ ORหมายความว่าควรส่งคืนบันทึกหากเงื่อนไขข้อใดข้อหนึ่งเป็นจริง ดังนั้น หากANDส่งคืนเรกคอร์ดที่เงื่อนไขทั้งสองหรือทั้งหมดเป็นจริง การใช้ ตัวดำเนินการ ORจะส่งกลับเรกคอร์ดแม้ว่าจะมีเพียงเงื่อนไขเดียวเท่านั้นที่ส่งคืนค่าจริง 

สมมติว่าเราต้องการดึงข้อมูลระเบียนโดยที่ชื่อผลิตภัณฑ์เป็นSingleTouchหรือMultiTouch

SQL WHERE ข้อสำหรับการกรองข้อมูล

เราเพียงแค่ต้องสร้างแบบสอบถามเพื่อตรวจสอบ คอลัมน์ PNameของตารางผลิตภัณฑ์ ในแบบสอบถามนี้ เราใช้ ส่วนคำสั่ง WHEREและ ตัวดำเนินการ ORเพื่อส่งคืนแถวที่ตรงตามเงื่อนไขที่ตั้งไว้อย่างใดอย่างหนึ่ง

SQL WHERE ข้อสำหรับการกรองข้อมูล

การใช้คำสั่ง WHERE ใน SSMS

ลองใช้WHERE ClauseในSSMSกัน ที่นี่ เรากำลังใช้ฐานข้อมูลตัวอย่างจาก Microsoft ชื่อ AdventureWorks2012 คุณสามารถเรียนรู้วิธีตั้งค่าได้โดยทำตามบทช่วยสอนนี้ 

สำหรับตัวอย่างนี้ เราจะดึงข้อมูลระเบียนใต้ตารางSalesOrderHeader

SQL WHERE ข้อสำหรับการกรองข้อมูล

หากต้องการดำเนินการค้นหานี้ในSSMSเพียงไฮไลต์และคลิกปุ่มดำเนินการ

SQL WHERE ข้อสำหรับการกรองข้อมูล

โดยไม่ใช้ คำสั่ง WHEREจะส่งคืนระเบียนทั้งหมดภายใต้ตารางนี้ อย่างที่เราเห็น มันคืนค่า 31,465 แถว

SQL WHERE ข้อสำหรับการกรองข้อมูล

สมมติว่าเราต้องการกรองระเบียนเหล่านั้นและส่งคืนเฉพาะแถวที่มีTerritoryIDเป็น 5 ดังนั้น ลองใช้ ส่วนคำสั่ง WHEREที่นี่เพื่อสร้างเงื่อนไขนั้น

SQL WHERE ข้อสำหรับการกรองข้อมูล

หลังจากดำเนินการค้นหานั้น ตอนนี้จะส่งคืน 486 แถวแทนที่จะเป็น 31,465 นี่เป็นเพราะมันกรองบันทึกไปยังผู้ที่มีTerritoryIDเป็น5เท่านั้น

SQL WHERE ข้อสำหรับการกรองข้อมูล

ตอนนี้ เรายังคงนำคอลัมน์ทั้งหมดจากตารางนั้น เรายังสามารถจำกัดคอลัมน์ได้โดยระบุคอลัมน์ที่เราต้องการดู

เพียงเปลี่ยน*เป็นชื่อคอลัมน์เฉพาะและดำเนินการค้นหา 

SQL WHERE ข้อสำหรับการกรองข้อมูล

ตอนนี้จะแสดงคอลัมน์เฉพาะที่เราตั้งไว้ด้วยจำนวนแถวที่เท่ากัน 

SQL WHERE ข้อสำหรับการกรองข้อมูล

ลองใช้ คำสั่ง WHEREกับค่าสตริง ตัวอย่างเช่น เราต้องการจำกัดเรกคอร์ดตาม ค่า คอลัมน์PurchaseOrderNumberเป็นP014123169936 เนื่องจากค่านี้มีตัวอักษร จึงถือว่าเป็นสตริงแม้ว่าจะมีตัวเลขจำนวนมากก็ตาม

SQL WHERE ข้อสำหรับการกรองข้อมูล

โปรดจำไว้ว่าเมื่อใช้ ค่า สตริงเราจำเป็นต้องใส่เครื่องหมายอัญประกาศเดี่ยว หากไม่มีเครื่องหมายอัญประกาศเดี่ยว เส้นสีแดงจะปรากฏขึ้นเพื่อระบุว่ามีข้อผิดพลาด

SQL WHERE ข้อสำหรับการกรองข้อมูล

ผลลัพธ์จะให้เพียงหนึ่งแถว ซึ่งหมายความว่ามีข้อมูลเดียวที่มีหมายเลขใบสั่งซื้อที่เราตั้งไว้

SQL WHERE ข้อสำหรับการกรองข้อมูล

WHERE ข้อกับ AND ตัวดำเนินการ และเรียงลำดับตามคำหลัก

มีตัวกรองอื่นที่เราต้องการเลือกระเบียนที่มีวันที่สั่งซื้อที่แน่นอน สำหรับตัวอย่างนี้ เราต้องการเลือกเฉพาะเรคคอร์ดที่มีวันที่สั่งซื้อมากกว่าหรือเท่ากับ ' 2014-01-01 ' และน้อยกว่าหรือเท่ากับ ' 2014-03-31 '

SQL WHERE ข้อสำหรับการกรองข้อมูล

เรายังสามารถใช้ คำสำคัญ Order Byได้ที่นี่ สำหรับตัวอย่างนี้ เราต้องการให้เรียงลำดับตามOrderDateจากมากไปน้อย

SQL WHERE ข้อสำหรับการกรองข้อมูล

ผลลัพธ์ควรแสดงเฉพาะเรกคอร์ดที่ตรงตามเงื่อนไขสองข้อที่เราตั้งไว้เท่านั้น

SQL WHERE ข้อสำหรับการกรองข้อมูล

เรายังสามารถสร้างแบบสอบถามนั้นใหม่ได้โดยใช้ตัวดำเนินการBETWEEN ตัวดำเนินการ BETWEENเลือกค่าภายในช่วงที่กำหนด ดังนั้น มันจะให้ผลลัพธ์เดียวกันหากเราทำเช่นนี้ 

SQL WHERE ข้อสำหรับการกรองข้อมูล

WHERE ข้อกับหรือตัวดำเนินการสำหรับหลายเงื่อนไข

ในตัวอย่างนี้ เรามีหลายเงื่อนไขโดยใช้ตัวดำเนินการOR เราต้องการเลือกแถวที่มี 5, 6 หรือ 7 เป็นรหัสอาณาเขต

SQL WHERE ข้อสำหรับการกรองข้อมูล

ผลลัพธ์ควรแสดงเรกคอร์ดทั้งหมดที่ตรงตามเงื่อนไขข้อใดข้อหนึ่งที่เราตั้งไว้ สำหรับตัวอย่างนี้ จะส่งคืน 7,225 แถว

SQL WHERE ข้อสำหรับการกรองข้อมูล

การใช้ฟังก์ชันด้วยคำสั่ง WHERE

เรายังสามารถใช้ฟังก์ชันร่วมกับคำสั่งWHERE ตัวอย่างเช่น แทนที่จะป้อนค่าวันที่ของ คอลัมน์ OrderDate ด้วยตนเอง เราสามารถใช้ ฟังก์ชัน YEARเพื่อดึงข้อมูลระเบียนทั้งหมดที่มีวันที่สั่งซื้อของปี 2014 ได้โดยอัตโนมัติ 

SQL WHERE ข้อสำหรับการกรองข้อมูล

ผลลัพธ์ทำให้เรามี 11,761 แถวซึ่งเป็นสถิติสำหรับปี 2014

SQL WHERE ข้อสำหรับการกรองข้อมูล

SQL สำหรับผู้ใช้ LuckyTemplates – หลักสูตร LuckyTemplates ใหม่
การพับแบบสอบถามและการเชื่อมต่อกับ SQL Server

บทสรุป

เพื่อสรุป เราได้เรียนรู้วิธีการใช้ ส่วนคำสั่ง WHEREในคำสั่งSELECT เรายังสามารถใช้มันในคำสั่งUPDATE , DELETEและSQL อื่นๆ ได้อีกด้วย เราได้เรียนรู้วิธีใช้เพื่อสร้างเงื่อนไขหลายเงื่อนไขโดยใช้ตัวดำเนินการANDและOR

นอกจากนี้ เราได้เรียนรู้การใช้ ตัวดำเนินการ BETWEENเพื่อเลือกระหว่างค่าต่างๆ เรายังสามารถใช้ ส่วนคำสั่ง WHEREกับฟังก์ชันเช่นฟังก์ชันYEAR การใช้ ส่วนคำสั่ง WHEREเป็นสิ่งสำคัญมากในการกรองบางระเบียนที่เราต้องการ จำเป็นต้องลดระเบียนที่แบบสอบถามส่งคืนเพื่อกรองข้อมูลที่ไม่จำเป็นที่เราไม่ต้องการออกไป 

สิ่งที่ดีที่สุด

ฮาฟิซ

Leave a Comment

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

ค้นพบวิธีที่เราสามารถดาวน์โหลดและติดตั้ง R และ RStudio ซึ่งเป็นทั้งแบบฟรีและแบบโอเพ่นซอร์สสำหรับการเขียนโปรแกรมสถิติและกราฟิก

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือที่ช่วยให้คุณเข้าใจและใช้ได้อย่างมีประสิทธิภาพ

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คำแนะนำทั้งหมดเพื่อทำให้ข้อมูลของคุณมีประสิทธิภาพมากขึ้น

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร