Latest web development tutorials

SQLite ข้อที่

คำสั่งWHERE SQLite ที่จะระบุที่จะได้รับข้อมูลจากหนึ่งหรือมากกว่าหนึ่งตารางในเงื่อนไข

หากคุณปฏิบัติตามเงื่อนไขที่ได้รับเป็นความจริง (จริง) จากตารางจะกลับค่าเฉพาะ คุณสามารถใช้คำสั่ง WHERE เพื่อกรองระเบียนเพิ่งได้รับการบันทึกที่จำเป็น

คำสั่ง WHERE จะใช้ไม่เพียง แต่ในคำสั่ง SELECT ก็ยังสามารถนำมาใช้ในการปรับปรุงลบคำสั่งและอื่น ๆ ซึ่งเราจะได้เรียนรู้ในบทต่อ ๆ มา

ไวยากรณ์

ไวยากรณ์พื้นฐานของคำสั่ง SELECT มีคำสั่ง WHERE ใน SQLite ดังนี้

COLUMN1 SELECT, column2, COLUMNN 
จาก table_name
โดยที่ [เงื่อนไข]

ตัวอย่าง

นอกจากนี้คุณยังสามารถใช้ การเปรียบเทียบหรือผู้ประกอบการตรรกะ เกณฑ์ที่กำหนดเช่น>, <, = เช่น NOT, และอื่น ๆ ตาราง บริษัท สมมติว่ามีการบันทึกต่อไปนี้:

ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย
2 อัลเลน 25 15,000.0 เท็กซัส
เท็ดดี้ 3 23 นอร์เวย์ 20,000.0
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส
6 คิม 22 ใต้ 45,000.0 ฮอลล์
7 เจมส์ 24 ฮุสตัน 10,000.0

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้งานของผู้ประกอบการเชิงตรรกะของ SQLite คำสั่ง SELECT ต่อไปนี้แสดงอายุ 25และมากกว่าหรือเท่ากับมากกว่าหรือค่าจ้างที่เท่าเทียมกันสำหรับระเบียนทั้งหมด 65,000.00:

SQLite> * เลือกจาก บริษัท อายุ> = 25 และเงินเดือน> = 65000;
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส

คำสั่ง SELECT ต่อไปนี้แสดงอายุ 25หรือมากกว่าหรือเท่ากับมากกว่าหรือค่าจ้างที่เท่าเทียมกันสำหรับระเบียนทั้งหมด 65,000.00:

SQLite> SELECT * จาก บริษัท อายุ> = 25 หรือเงินเดือน> = 65000;
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย
2 อัลเลน 25 15,000.0 เท็กซัส
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส

คำสั่ง SELECT ต่อไปนี้แสดงอายุไม่ได้เป็นโมฆะสำหรับระเบียนทั้งหมดระเบียนทั้งหมดแสดงให้เห็นว่ามันหมายความว่ามีการบันทึกอายุไม่เป็นโมฆะเท่ากับ:

SQLite> SELECT * จาก บริษัท อายุไม่โมฆะ;
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย
2 อัลเลน 25 15,000.0 เท็กซัส
เท็ดดี้ 3 23 นอร์เวย์ 20,000.0
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส
6 คิม 22 ใต้ 45,000.0 ฮอลล์
7 เจมส์ 24 ฮุสตัน 10,000.0

ตัวอักษรต่อไปนี้ SELECT รายการชื่อคำชี้แจงที่ 'คี' ระเบียนทั้งหมดเริ่ม 'คี' ไม่มีขีด จำกัด หลังจากที่:

SQLite> * เลือกจาก บริษัท ซึ่งจะมีชื่อเช่น "Ki% ';
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
6 คิม 22 ใต้ 45,000.0 ฮอลล์

ตัวอักษรต่อไปนี้ SELECT รายการชื่อคำชี้แจงที่ 'คี' ระเบียนทั้งหมดเริ่ม 'คี' ไม่มีขีด จำกัด หลังจากที่:

SQLite> * เลือกจาก บริษัท ชื่อ WHERE GLOB 'Ki *';
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
6 คิม 22 ใต้ 45,000.0 ฮอลล์

คำสั่ง SELECT ต่อไปนี้แสดงค่าอายุบันทึก 25 หรือ 27:

SQLite> SELECT * จาก บริษัท อายุความใน (25 27);
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
2 อัลเลน 25 15,000.0 เท็กซัส
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส

คำสั่ง SELECT ต่อไปนี้แสดงค่าที่อายุไม่เป็น 25 หรือ 27 ของระเบียนทั้งหมด:

SQLite> SELECT * จาก บริษัท ยังไม่ได้ใช้ (25, 27);
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย
เท็ดดี้ 3 23 นอร์เวย์ 20,000.0
6 คิม 22 ใต้ 45,000.0 ฮอลล์
7 เจมส์ 24 ฮุสตัน 10,000.0

คำสั่ง SELECT ต่อไปนี้แสดงค่าอายุระเบียนทั้งหมดระหว่าง 25 และ 27:

SQLite> * เลือกจาก บริษัท อายุระหว่าง 25 และ 27;
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
2 อัลเลน 25 15,000.0 เท็กซัส
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส

คำสั่ง SELECT ต่อไปนี้ใช้ subqueries SQL, แบบสอบถามย่อยหาเงินเดือน> ฟิลด์อายุระเบียนทั้งหมดที่มี 65,000 หลังคำสั่ง WHERE ถูกนำมาใช้ร่วมกับผู้ประกอบการที่มีอยู่แสดงรายการการแสดงตนแบบสอบถามอายุนอกในผลตอบแทนที่ย่อยแบบสอบถาม ผลของการบันทึกทั้งหมด:

SQLite> อายุ SELECT จาก บริษัท 
        WHERE EXISTS (SELECT อายุจาก บริษัท เงินเดือน> 65000);
อายุ
----------
32
25
23
25
27
22
24

คำสั่ง SELECT ต่อไปนี้ใช้ subqueries SQL, แบบสอบถามย่อยหาเงินเดือน> ฟิลด์อายุระเบียนทั้งหมดที่มี 65,000 หลังคำสั่ง WHERE และ> ผู้ประกอบการมีการใช้ร่วมกันผลลัพธ์ของแบบสอบถามที่ส่งกลับรายการของแบบสอบถามนอกมากกว่า Sub-Age ระเบียนทั้งหมดของอายุ:

SQLite> SELECT * จาก บริษัท 
        WHERE อายุ> (SELECT อายุจาก บริษัท เงินเดือน> 65000);
ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย