6.การใช้คำสั่ง WHERE เพื่อเรียกค้นข้อมูล

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

อันดับแรก ให้ไปที่แท็บ Execute SQL เพื่อที่เราจะใส่โค้ดกันนะคะ เราสมมติว่าเราอยากดูข้อมูลของลูกค้าลำดับที่ 48 ตามที่เกริ่นตอนแรกเลยละกันเนอะ เพราะงั้นเราจะมาลองรันกันดูค่ะ โดยเราจะใส่โค้ดดังนี้

SELECT * FROM customers

WHERE CustomerId = 48;


ซึ่งพอกดรันปุ๊บ ข้อมูลของลูกค้าลำดับที่48ก็จะโชว์ขึ้นมาทันที หลายคนอาจจะงงว่า * มาอีกแล้ว ทำไมครั้งนี้ต้องใช้ดอกจันกันนะ เพราะอะไรกันนะ....

คำตอบ : ก็เพราะว่า * เป็นตัวที่ใช้ดึงฐานข้อมูลทั้งหมดทุกคอลัมภ์ของ Table นั้นๆ นั่นเอง

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


SELECT FirstName,Phone 

FROM customers

WHERE CustomerId = 48;


ซึ่งพอรันแล้ว ก็จะได้ตามภาพเลยค่ะ 


แล้วถ้าเราอยากจะดึงข้อมูลของลูกค้าที่อยู่ในประเทศ Norway มาแค่ชื่อกับเบอร์โทรละ เราจะใส่ยังไงกันนะ อันนี้น่าสนใจค่ะ เดี๋ยวเราจะใส่โค้ดให้ดูแล้วให้เพื่อนๆลองดูกันนะคะว่าทำไม


SELECT FirstName,Phone 

FROM customers

WHERE City = 'norway';

พอใส่แล้วรันโค้ด กลับขึ้นภาพว่าไม่มีเออเร่อ แต่กลับไม่แสดงผลข้อมูลอะไรขึ้นมาเลยค่ะ ให้เดากันค่ะว่ามันเกิดอะไรขึ้น อย่าเพิ่งดูเฉลยนะคะ



เฉลย


ปล.สังเกตมั้ยคะว่าเวลาเราใส่ตัวเลย เช่น customerId = 4 เราจะไม่ต้องครอบฟันหนูหรือ ' แต่ถ้าเราใส่เป็นข้อความเช่น Norway เราต้องใส่ ' คร่อม หรือจะใส่ฟันหนูก็ได้(ชื่อเรียกคือ Single qoute กับ Double qoute)ซึ่งตรงนี้ห้ามลืม ไม่งั้นเวลารันโค้ดจะเออเร่อนะคะ

ปล.2 เราสามารถกำหนดให้แสดงข้อมูลตามจำนวนที่เราต้องการได้โดยการใช้เครื่องหมาย > < = เข้ามาช่วยได้ด้วยนะ อย่างเช่น เราอยากจะให้ข้อมูลแสดงรายชื่อลูdค้าลำดับที่ 15 เป็นต้นไป เราก็แค่ใส่ว่า WHERE customerId >= 15 แค่นี้เองค่ะ หรือถ้าจะไม่เอาคนที่15 ก็แค่ใส่ว่า WHERE customerId > 15 ก็ได้แล้วค่ะ


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

11. Aggregate Function คืออะไร แล้วมีอะไรบ้าง

5. การใช้คำสั่ง As เพื่อเปลี่ยนชื่อ Field หรือ Column

4.การใช้คำสั่ง SELECT พื้นฐานในการแสดงผลข้อมูลทั้งหมดหรือบางส่วน