Coldfusion / מדריך Coldfusion / ביטויי SQL
ביטויי SQL
אין לי מספיק מקום או רצון לעבור עכשיו על כל קסמיה של SQL כאן, אז תאלצו להסתפק בקורס קצרצר ופשוט. אם תצליחו להגיע לסוף העמוד הזה ועדיין להרגיש כמו מנצחים אתם מוזמנים לחפש ברשת בין אינסוף האתרים הקיימים בנושא.
SQL נחשבת לשפת תשאול מאגרי מידע סטנדרטית יחסית בקרב רוב יישומי המאגרים, למרות ש-Microsoft בשיטה הבלתי ניתנת לחיקוי שלה הוסיפה מספר ביטויי מאפיינים (קראו את קובץ העזרה שלנו אם אתם עושים שימוש ב-MS Access). בקיצור, יש שיטה לבחור נתונים מסוימים מטבלאות מאגרי מידע תוך שימוש בקריטריונים עליהם אתם מחליטים. לדוגמא, נאמר שאתם רוצים לבחור נתונים מטבלת הcontents- שבמאגר המידע ההיפותטי שלכם - contenes_of_my_pocket.mdb. לצורך העניין, נניח שאתם רוצים לבחור רק פריטים (items) שנקנו (acquired) ב-12 בדצמבר 1998. ביטוי ה-SQL של התבנית שלכם יראה בערך כך:
<CFQUERY NAME= "pocket" DATASOURCE= "contents_of_my_pocket">
SELECT * FROM contents WHERE acquired IS "12 December 1998"
</CFQUERY>
זה אומר ל-coldfusion לבחור את כל הנתונים (*) מטבלת ה- contents בהם השדה "acquired" תואם במדויק את הטקסט "12 December 1998". אם הייתם משתמשים בזה כביטוי בראש התבנית שבנינו בפרק הקודם, הייתם מקבלים רשימה של שלושה פריטים בלבד.
באופן כללי, SQL עושה שימוש במושג "IS" כדי להשוות שדות טקסט וב"=" כדי להשוות שדות ממוספרים. בואו נאמר שברצונכם להיות פחות סלקטיביים ולראות את כל הפריטים שנרכשו בחודש דצמבר:
<CFQUERY NAME= "pocket" DATASOURCE= "contents_of_my_pocket">
SELECT * FROM contents WHERE acquired LIKE "December%"
</CFQUERY>
המושג LIKE אומר ל-coldfusion לחפש נתונים בהם השדה "acquired" מתחיל במילה "December" כשאחריה יש תאריך כלשהו. סימן האחוז הוא הג'וקר ב-SQL; משמעותו שלא משנה לנו מה יופיע אחרי המילה דצמבר. LIKE יופיע כמעט תמיד בצירוף עם סימול הג'וקר. בדומה, ביכולתכם לבחור את כל הפריטים שנרכשו ב-1998 כך:
<CFQUERY NAME= "pocket" DATASOURCE= "contents_of_my_pocket">
SELECT * FROM contents WHERE acquired LIKE "%1998"
</CFQUERY>
או אם הייתם רוצים לבחור רק עצמים שיש בהם את האות "b", הייתם יכולים ליצור ביטוי כזה:
<CFQUERY NAME= "pocket" DATASOURCE= "contents_of_my_pocket">
SELECT * FROM contents WHERE item LIKE "%b%"
</CFQUERY>
אבל אני לא יודע למה שתרצו לעשות משהו כזה. שימו לב ששינינו את שדה השם אחרי WHERE מ"acquired" ל-"item".
הדוגמאות הנ"ל מכסות את רוב ביטויי ה-SQL הבסיסיים, אם אתם מרגישים שאתם צריכים לשלוט יותר בבחירת נתונים, נסו את דפי הלימוד שציינתי קודם, כי לי יש עוד הרבה מאוד חומר להעביר ומעט מדי מקום.
עכשיו הלאה למבט מעמיק יותר על תווית <CFOUTPUT>.
עמוד הבא: עוד CFOUTPUT >>
|