אינדקס מדריך SQL

שאילתת שליפת נתונים - SELECT

 

שאילתת שליפת נתונים - SELECT

כלי חשוב מאוד במסד נתונים הוא היכולת לשלוף מידע לפי בחירה. בדוגמא פה נראה כיצד אפשר לשלוף מידע ולסנן אותו למטרות כלשהן.

כך נראת הטבלה שממנה נשלוף את המידע שלנו (רק להמחשה):


IDmyfieldmyfield2
1webmasters.co.il test2
2Data Data3


הנה הבסיס לשאילתא של שליפת מידע SELECT:

SELECT * FROM mytable

השאילתא אומרת בבסיסה, תבחר לי את כל השדות נתונים (מסומן בכוכבית) מהטבלה ששמה "mytable".


שליפה עם WHERE

בהנחה שהטבלה היתה מסודרת לפי ID (ממוספרת) אז היינו יכולים להעזר ב-WHERE כדי לשלוף רשומה אחת מדויקת הנה דוגמא לשאילתא שתשלוף את הרשומה שמספרה 2:

SELECT * FROM mytable where id='2'
וע"פ הטבלה למעלה המידע שישלף יהיה "Data Data" כולל המספר 3 (בשני השדות העיקריים).

אבל מה באפשרותנו לשלוף רק מידע מסויים למשל, במקום לכתוב כוכבית ( * ) נכתוב את שמות השדות שנרצה לשלוף:

SELECT id,myfield FROM mytable where id='2'
 בדוגמא הזה נשלוף רק את ה-ID והשדה myfield זאת אומרת שאת הספרה 3 לא נקבל בשליפה מכוון שהשדה שלה myfield2 לא נמצא ברשימה של השדות שאנחנו רוצים לשלוף.


הגבלת תוצאות עם LIMIT

בעזרת limit נוכל להגביל את המידע מהשאילתא להתחלה בשורה מסויימת והגבלה לכמות מסויימת של שאילתות. כך שנוכל לשלוף רק 10 שורות או רק 50 במקום את כל הטבלה. זה חשוב מאוד לחסכון ומהירות השאילתא!

SELECT * FROM mytable limit 0,10

בדוגמא הזו אנחנו מתחילים לשלוף מהרשומה שמספרה 0 כ-10 רשומות. משמע הרשומה העשירית והאחרונה תהיה מספר 9 (כי מתחילים מ-0).

שימו לב שהשליפה הזו תהיה מבולבלת אולי ותציג לא בדיוק את מה שרצינו לכן כדאי להשתמש ב-order by


סידור הנתונים עם order by

ה-order by בא אחרי ה-where ונועד לסדר את הרשומות לפי סדר מסויים. לרוב נבחר לפי סדר ה-ID שלנו.

SELECT * FROM mytable order by id limit 0,10

שימו לב שה-LIMIT בא בסוף.

בהמשך נלמד על like שהוא נכנס גם כן ב-SELECT שלנו אך מיועד לרוב לביצוע חיפושים במסד נתונים ועוד.



יש בעיה? קושי או שאתם רוצים לשאול שאלה? הכנסו לפורום שלנו תשאלו ואנחנו נשמח לעזור!