sql, האם זה שווה משהו????

commit

משתמש מקצוען
הנדסת תוכנה
????!!!?!?!
אולי לא כל אחד יודע pivot וסיכומים מורכבים אבל פרוצדורה פשוטה של join בטוח שבסיסי לפיתוח
וכשיש צורך ביותר הולכים לבדוק מה הsyntax, לא ?
בכל מקרה תמיד בודקים איפה הכי קל לביצוע בDB, server או client
ואם המפתח עדיין לא יודע, מי שמעליו צריך לדעת להנחות אותו לכתוב את הלוגיקה הזו במקום המתאים
את רק מחזקת את מה שהוא כתב, שמתכנת סטנדרטי יודע sql ברמה נמוכה.
ולגבי זה שכשיש צורך הולכים לבדוק מה הsyntex, זה ממש לא נכון, כי בד"כ זה לא הsyntex שחסר אלא הלוגיקה שאת לא יודעת שניתן להגיע אליה.
היתה תקופה שכתבתי sql ברמה גבוהה, וכל פעם הופתעתי מהיכולות שניתן להגיע אליהן במידה ומכירים את השפה לעומק. כמעט כל דבר ניתן לבצע ללא לולאה.
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
????!!!?!?!
אולי לא כל אחד יודע pivot וסיכומים מורכבים אבל פרוצדורה פשוטה של join בטוח שבסיסי לפיתוח
וכשיש צורך ביותר הולכים לבדוק מה הsyntax, לא ?
בכל מקרה תמיד בודקים איפה הכי קל לביצוע בDB, server או client
ואם המפתח עדיין לא יודע, מי שמעליו צריך לדעת להנחות אותו לכתוב את הלוגיקה הזו במקום המתאים
לא. לא מדבר על join
מדבר על שתי רמות מעל. כשכל (כמעט) מניפולציה על דאטה מסוגלים לבצע ברמת sql
 

עיטורים פלוס

משתמש סופר מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
הנדסת תוכנה
צילום מקצועי
D I G I T A L
עימוד ספרים
אני לומדת בסמינר עכשיו sql עכשיו אנחנו כותבות שאילתות
ומרגיש לי שזה ממש חומר מפגר
זה רלוונטי בכלל לעבודה?
יש בכלל עבודה בתחום הזה?
תודה
אחד הדברים החשובים והבסיסיים, כמעט לא קיימת עבודת פיתוח שאין לה אינטרקציה כלשהי עם sql, חשוב חשוב חשוב!
יותר מזה, גם לאנשי QA חשוב להכיר ולדעת sql לפחות ברמה הבסיסית.
 

לעזור לכולם

משתמש צעיר
הנדסת תוכנה

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
היכן ניתן להגיע למידע על זה?
[כמובן עדיפות לחינם ובעברית...]
אני לא יודע.
העיקר כאן זה התרגול. כלומר, כן צריך ללמוד את הבסיס מאיזה מדריך או סתם מגוגל, אבל את המיומנות רוכשים רק על ידי פרקטיקה. וזה קצת בעיה, כי לא תמיד יש הזדמנות. כלומר, לא תמיד בפרויקט שאתה עובד יש משהו רלוונטי שאפשר להתנסות. אבל כשיש - כדאי לנצל את ההזדמנות.
 

לעזור לכולם

משתמש צעיר
הנדסת תוכנה
תודה רבה
שאלתי הוא בכל האתרים החינמיים, המקסימום שיש זה JOIN או פונקציות על תאריכים וכד'
לפי הציטוטים דלעיל ישם עוד המון פונקציות
אשמח לדעת היכן יש מידע על זה
[כנ"ל עדיפות גבוהה בחינם ובעברית...]
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
אולי תנסה לחפש משהו כמו ״sql advanced tutorial״
אולי אפשר גם לחפש משהו שיהיו שם פרקים שהם בוודאי קשורים לנושאים מאתגרים. כמו gaps and islands
בשביל לתרגל אני חושב שיש כמה אתרים עם תרגילים נחמדים. תראו את התרגיל הזה, למשל

קצת קשה להאמין שיש דברים בעברית
 
נערך לאחרונה ב:

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
דרך אגב, לא התאפקתי, פתרתי את התרגיל הזה.
כמו תמיד קוד sql נראה מסורבל לחלוטין :)
SQL:
with pairs as (
select f1.actor_id as a1, f2.actor_id as a2, f1.film_id as fi
  from film_actor f1
  join film_actor f2
  on f1.film_id = f2.film_id
  where f1.actor_id < f2.actor_id
  ),
  groups_ as (
    select a1, a2, array_agg(fi) as films
    from pairs
    group by a1, a2
    order by cardinality(array_agg(fi)) desc
    limit 1
  ),
  films_ as (
  select a1, a2, unnest(films) as film_id from groups_
    )
    select
    (select concat(a.first_name, ' ', a.last_name) from actor a  where a.actor_id=a1 limit 1) as first_actor,
    (select concat(a.first_name, ' ', a.last_name) from actor a  where a.actor_id=a2 limit 1) as second_actor,
    title
    from films_ f1 join film f on f1.film_id= f.film_id
    order by title
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
התחלתי שם עוד אחד, אין לי מושג בינתיים איך לפתור את זה
 

לעזור לכולם

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

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
מה יש לקרוא שם? שני משפטים. צריך להפוך מטריצה
1669840354189.png
 
נערך לאחרונה ב:

סיפורים

משתמש מקצוען
הנדסת תוכנה
הפקות ואירועים
אחת הספות החשובות!
קריטי להבנה של כל הOOP - רלוונטי לכל ספת סרוור.

לא שפה טיפשית בכלל. פרוצדורות ופונקציות וETLים הם דברים שטובי המוחות שוברים עליהם את הראש.

שלא לדבר על bigData ועל ניתוח מידע.

מתכנת שלא מבין את הSQL - לא הבין את הקונספט.

ואני חושבת שמתכנת אמור לדעת SQL מעבר לבסיס וJOINים.
שלא לדבר על הדינאמי ופונקציות וונדוס - שמעלות אותו לרמה אחת מעל!

ובאישי, אחת השפות האהובות עלי!
 

commit

משתמש מקצוען
הנדסת תוכנה
תודה רבה
שאלתי הוא בכל האתרים החינמיים, המקסימום שיש זה JOIN או פונקציות על תאריכים וכד'
לפי הציטוטים דלעיל ישם עוד המון פונקציות
אשמח לדעת היכן יש מידע על זה
[כנ"ל עדיפות גבוהה בחינם ובעברית...]
אין עוד המון פונקציות, משתמשים בדברים הרגילים, מקסימום pivot, sub query או פרוצדורה. לכן כתבתי שזה לא עניין של syntex.
הרעיון הוא שהשפה הזו מאוד גמישה, ככה שדברים שנראים לך בלתי אפשריים, בסופו של דבר את כן מצליחה לשלוף אותם עם שאילתא.
אפשר להגיע לרמה גבוהה רק באמצעות תרגול, כי זה לא חומר מסוים שצריך ללמוד, אלא כל מיני ניואנסים שצריך להכיר.
 

חגי פאהן

משתמש סופר מקוצען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
עימוד ספרים
אין עוד המון פונקציות, משתמשים בדברים הרגילים
יש עוד המון פונקציות. למשל groups (שתי רמות של group by באותה שליפה), או partition (מיון לפי סדר שהיה רלוונטי רק ב-sub select).

אבל אולי זה רק ב-oracle?
 
נערך לאחרונה ב:

גזעי

משתמש מקצוען
הנדסת תוכנה
D I G I T A L
יש עוד המון פונקציות. למשל groups (שתי רמות של group by באותה שליפה), או partition (מיון לפי סדר שהיה רלוונטי רק ב-sub select).

אבל אולי זה רק ב-oracle?
זה קיים גם בSQL SERVER

אבל לא הייתי קורא לזה "פונקציות", זה פיצ'רים של המסד נתונים.
יש המון פיצ'רים שימושיים שמתכנת ממוצע לא מכיר, אני כל הזמן נדהם לגלות דברים חדשים מהDBA שלנו.

(נראה לי שהפונט הירוק התחיל מאז שאיפשרתי את הdark theme באפשרויות של פרוג)
1669894053643.png
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכט

א שִׁיר הַמַּעֲלוֹת רַבַּת צְרָרוּנִי מִנְּעוּרַי יֹאמַר נָא יִשְׂרָאֵל:ב רַבַּת צְרָרוּנִי מִנְּעוּרָי גַּם לֹא יָכְלוּ לִי:ג עַל גַּבִּי חָרְשׁוּ חֹרְשִׁים הֶאֱרִיכוּ (למענותם) לְמַעֲנִיתָם:ד יְהוָה צַדִּיק קִצֵּץ עֲבוֹת רְשָׁעִים:ה יֵבֹשׁוּ וְיִסֹּגוּ אָחוֹר כֹּל שֹׂנְאֵי צִיּוֹן:ו יִהְיוּ כַּחֲצִיר גַּגּוֹת שֶׁקַּדְמַת שָׁלַף יָבֵשׁ:ז שֶׁלֹּא מִלֵּא כַפּוֹ קוֹצֵר וְחִצְנוֹ מְעַמֵּר:ח וְלֹא אָמְרוּ הָעֹבְרִים בִּרְכַּת יְהוָה אֲלֵיכֶם בֵּרַכְנוּ אֶתְכֶם בְּשֵׁם יְהוָה:
נקרא  1  פעמים

לוח מודעות

למעלה