SQL Between оператор
BETWEEN оператор нь өгөгдсөн муж доторх утгыг сонгоно. Утга нь тоо, текст эсвэл огноо байж болно.
BETWEEN операторын бичэглэл
SELECT Багана_нэр(s)
FROM Хүснэгт_нэр
WHERE Багана_нэр BETWEEN Утга1 AND Утга2;
Student хүснэгт дээр жишээ авъя
Student хүснэгтийн бүх талбарыг дэлгэцэд харуулж байна
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
1 | Золбаяр | 1 | 1 | 100000 |
2 | Дорж | 1 | 1 | 200000 |
3 | Гүндалай | 1 | 1 | 300000 |
4 | Дорж | 1 | 1 | 300000 |
5 | Энхбаяр | 1 | 2 | 200000 |
6 | Энхболд | 1 | 2 | 500000 |
7 | Уянга | 1 | 2 | 500000 |
8 | Болд | 1 | 2 | 600000 |
9 | Энхбаяр | 1 | 2 | 600000 |
SQL BETWEEN
Student хүснэгтийн Payment талбараас 100000-аас 400000-н төгрөгийн төлбөр төлдөг бүх оюутнуудыг дэлгэцэд шүүж харуулж байна.
SELECT * FROM Student
WHERE payment BETWEEN 100000 AND 400000;
Үр дүн
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
1 | Золбаяр | 1 | 1 | 100000 |
2 | Дорж | 1 | 1 | 200000 |
3 | Гүндалай | 1 | 1 | 300000 |
4 | Дорж | 1 | 1 | 300000 |
5 | Энхбаяр | 1 | 2 | 200000 |
SQL NOT BETWEEN
Эсрэг тохиолдолд буюу Student хүснэгтийн Payment талбараас 100000-аас 400000-н төгрөгийн хооронд биш бусад бүх тохиолдлыг дэлгэцэд шүүж харуулж байна.
SELECT * FROM Student
WHERE payment NOT BETWEEN 100000 AND 400000;
Үр дүн
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
6 | Энхболд | 1 | 2 | 500000 |
7 | Уянга | 1 | 2 | 500000 |
8 | Болд | 1 | 2 | 600000 |
9 | Энхбаяр | 1 | 2 | 600000 |
SQL BETWEEN болон IN
BETWEEN операторыг IN оператортай хослуулан ажиллах болно. Жишээ нь төлбөрийн талбар буюу Payment талбараас 100000-аас 400000 хооронд төлбөр төлдөг оюутныг шүүж үзье. Гэхдээ шилдэг 3 буюу эхний 3-н оюутнаас бусад оюутны мэдээллийн үзье.
SELECT * FROM Student
WHERE payment BETWEEN 100000 AND 400000
AND StudentID NOT IN (1, 2, 3);
Үр дүн
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
4 | Дорж | 1 | 1 | 300000 |
5 | Энхбаяр | 1 | 2 | 200000 |
SQL BETWEEN текст утга
StudentName талбараас Золбаяр-аас Энхболд -н хооронд байгаа бүх оюутныг шүүж үзье.
SELECT * FROM Student
WHERE studentName BETWEEN 'Золбаяр' AND 'Энхболд'
ORDER BY studentName;
Үр дүн
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
3 | Гүндалай | 1 | 1 | 300000 |
2 | Дорж | 1 | 1 | 200000 |
4 | Дорж | 1 | 1 | 300000 |
1 | Золбаяр | 1 | 1 | 100000 |
5 | Энхбаяр | 1 | 2 | 200000 |
6 | Энхболд | 1 | 2 | 500000 |
SQL NOT BETWEEN текст утга
StudentName талбараас Золбаяр-аас Энхболд -н хоорондох тохиолдлоос бусад бүх оюутны бичлэгийг шүүж үзье.
SELECT * FROM Student
WHERE studentName NOT BETWEEN 'Золбаяр' AND 'Энхболд'
ORDER BY studentName;
Үр дүн
StudentID | StudentName | TeacherID | ClassID | Payment |
---|---|---|---|---|
7 | Уянга | 1 | 2 | 500000 |
8 | Болд | 1 | 2 | 600000 |
9 | Энхбаяр | 1 | 2 | 600000 |
Энэ удаа registrationStudent хүснэгт дээр жишээ авъя
registrationStudent хүснэгтийн бүх талбарыг дэлгэцэд харуулж байна
registrationID | StudentID | registrationDate | ClassID |
---|---|---|---|
1 | 1 | 1/9/2001 | 1 |
2 | 2 | 1/9/2002 | 1 |
3 | 3 | 1/9/2002 | 1 |
4 | 4 | 1/9/2003 | 1 |
5 | 5 | 1/9/2007 | 2 |
6 | 6 | 1/9/2009 | 2 |
7 | 7 | 1/9/2010 | 2 |
8 | 8 | 1/9/2011 | 2 |
9 | 9 | 1/9/2012 | 2 |
SQL BETWEEN DATE утга
registrationStudent хүснэгтийн registrationDate талбараас 1/9/2002 өдрөөс 1/9/2010 өдөр бүртгүүлсэн нийт оюутнуудын бүртгэлийг шүүж үзье.
SELECT * FROM registrationStudent
WHERE registrationDate BETWEEN #1/9/2002# AND #1/9/2010#;
Үр дүн
registrationID | StudentID | registrationDate | ClassID |
---|---|---|---|
2 | 2 | 1/9/2002 | 1 |
3 | 3 | 1/9/2002 | 1 |
4 | 4 | 1/9/2003 | 1 |
5 | 5 | 1/9/2007 | 2 |
6 | 6 | 1/9/2009 | 2 |
7 | 7 | 1/9/2010 | 2 |
Эсвэл талбараас 1/9/2002 өдрөөс 1/9/2010 өдөр бүртгүүлсэн нийт оюутнуудын бүртгэлийг шүүж үзье.
SELECT * FROM registrationStudent
WHERE registrationDate BETWEEN '1/9/2002' AND '1/9/2010';
Үр дүн
registrationID | StudentID | registrationDate | ClassID |
---|---|---|---|
2 | 2 | 1/9/2002 | 1 |
3 | 3 | 1/9/2002 | 1 |
4 | 4 | 1/9/2003 | 1 |
5 | 5 | 1/9/2007 | 2 |
6 | 6 | 1/9/2009 | 2 |
7 | 7 | 1/9/2010 | 2 |