LIMIT anahtar kelime nedir?
Limit anahtar sözcüğü, bir sorgu sonucunda döndürülen satırların sayısını sınırlamak için kullanılır.
SELECT, UPDATE OR DELETE komutları LIMIT anahtar kelime sözdizimi ile birlikte kullanılabilir.
LIMIT anahtar kelimenin sözdizimi aşağıdaki gibidir
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
İŞTE
- "SELECT {alan adları | *} FROM tableName (s)" sorgumuzda döndürmek istediğimiz alanları içeren SELECT ifadesidir.
- "[NEREDE koşulu]" isteğe bağlıdır, ancak sağlandığında sonuç kümesinde bir filtre belirtmek için kullanılabilir.
- "SINIR N" anahtar kelimedir ve N 0'dan başlayan herhangi bir sayıdır, sınır olarak 0 koymak sorguda herhangi bir kayıt döndürmez. Bir sayı koymak, 5 demek beş kayıt döndürür. Belirtilen tablodaki kayıtlar N'den küçükse, sorgulanan tablodaki tüm kayıtlar sonuç kümesine döndürülür.
Bir örneğe bakalım -
SELECT * FROM members LIMIT 2;
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Yukarıdaki ekran görüntüsünden de görebileceğiniz gibi, sadece iki üye geri döndü.
Yalnızca veritabanından on (10) üye içeren bir liste almak
Myflix veritabanından ilk 10 kayıtlı üyenin bir listesini almak istediğimizi varsayalım. Bunu başarmak için aşağıdaki komut dosyasını kullanırdık.
SELECT * FROM members LIMIT 10;
Yukarıdaki komut dosyasını çalıştırmak bize aşağıda gösterilen sonuçları verir
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
4 | Gloria Williams | Female | 14-02-1984 | NULL | 2nd Street 23 | NULL | NULL | NULL | NULL |
5 | Leonard Hofstadter | Male | NULL | NULL | Woodcrest | NULL | 845738767 | NULL | NULL |
6 | Sheldon Cooper | Male | NULL | NULL | Woodcrest | NULL | 976736763 | NULL | NULL |
7 | Rajesh Koothrappali | Male | NULL | NULL | Woodcrest | NULL | 938867763 | NULL | NULL |
8 | Leslie Winkle | Male | 14-02-1984 | NULL | Woodcrest | NULL | 987636553 | NULL | NULL |
9 | Howard Wolowitz | Male | 24-08-1981 | NULL | SouthPark | P.O. Box 4563 | 987786553 | lwolowitz[at]email.me | NULL |
LIMIT cümlesindeki N, tablomuzdaki toplam kayıt sayısından büyük olduğu için sorgumuzda yalnızca 9 üye döndürülmüştür.
Yukarıdaki komut dosyasını aşağıdaki gibi yeniden yazmak
SELECT * FROM members LIMIT 9;
Sorgu sonuç kümemizde yalnızca 9 satır döndürür.
LİMİT sorgusunda KAPALI AYAR kullanımı
OFF SET değeri de en sık SINIR anahtar sözcüğü ile birlikte kullanılır. KAPALI AYAR değeri, verilerin alınmasından hangi satırın başlayacağını belirlememizi sağlar
Diyelim ki satırların ortasından başlayarak sınırlı sayıda üye almak istiyoruz, buna ulaşmak için LİMİT anahtar kelimesini ofset değeri ile birlikte kullanabiliriz. Aşağıda gösterilen komut dosyası, verileri ikinci satırdan itibaren alır ve sonuçları 2 ile sınırlar.
SELECT * FROM `members` LIMIT 1, 2;
Yukarıdaki betiği MySQL çalışma tezgahında myflixdb ile çalıştırmak aşağıdaki sonuçları verir.
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
LIMIT anahtar kelimesini ne zaman kullanmalıyız?
Myflixdb'nin üzerinde çalışan uygulamayı geliştirdiğimizi varsayalım. Sistem tasarımcımız, yavaş yükleme sürelerine karşı koymak için bir sayfada görüntülenen kayıt sayısını sayfa başına 20 kayıt olacak şekilde sınırlamamızı istedi. Bu tür kullanıcı gereksinimlerini karşılayan sistemi uygulamaya nasıl başlayacağız? LIMIT anahtar sözcüğü bu tür durumlarda kullanışlıdır. Bir sorgudan döndürülen sonuçları sayfa başına yalnızca 20 kayıtla sınırlayabiliriz.
Özet
- LIMIT anahtar sözcüğü, bir sonuç kümesinden döndürülen satır sayısını sınırlamak için kullanılır.
- SINIR numarası, sıfırdan (0) yukarı doğru giden herhangi bir sayı olabilir. Sınır olarak sıfır (0) belirtildiğinde, sonuç kümesinden hiçbir satır döndürülmez.
- KAPALI AYAR değeri, verilerin alınmasından hangi satırın başlayacağını belirlememizi sağlar.
- SELECT, UPDATE OR DELETE komutları LIMIT anahtar kelime sözdizimi ile birlikte kullanılabilir.