MySql Waddo enno

bigsmoke239

Well-known member
  • Jan 14, 2010
    1,825
    138
    63
    ගෙදර
    mage table 2k tiyenawa. mata ona location name tika ganna man dena date ekata bookings watila nati.
    Meka ganna puluwan query ekak keyanna mysql walin

    1677947679238.png
     

    EKGuest

    Well-known member
  • Nov 16, 2022
    3,206
    5,703
    113
    ඕක මචන් ලියන්න ක්‍රම තුනක් තියෙනවා.

    1. LEFT JOIN එකක් විදියට

    SQL:
    SELECT l.name
    FROM location l LEFT JOIN locationbookings b
        ON l.id = b.locationid AND b.date = '2023-03-06'
    WHERE b.id IS NULL;


    2. Subquery එකක් විදියට (Using IN operator)

    SQL:
    SELECT name
    FROM location
    WHERE id NOT IN (SELECT locationid FROM locationbookings WHERE date = '2023-03-06');


    3. Correlated Subquery එකක් විදියට (Using Exists operator)

    SQL:
    SELECT l.name
    FROM location l
    WHERE NOT EXISTS (SELECT locationid FROM locationbookings WHERE locationid = l.id AND date = '2023-03-06');

    ඔතනින් IN operator එක පාවිච්චි කරනවට වඩා Exists operator එක පාවිච්චි කලම performance එක වැඩියි.

    මමත් මේ දවස්වල ආයෙත් SQL බලාගෙන යනවා අවුරුදු ගානකින් කරලා නැහැ.
     

    Psiko

    Well-known member
  • Mar 10, 2023
    12,365
    11,722
    113
    🤍
    ඕක මචන් ලියන්න ක්‍රම තුනක් තියෙනවා.

    1. LEFT JOIN එකක් විදියට

    SQL:
    SELECT l.name
    FROM location l LEFT JOIN locationbookings b
        ON l.id = b.locationid AND b.date = '2023-03-06'
    WHERE b.id IS NULL;


    2. Subquery එකක් විදියට (Using IN operator)

    SQL:
    SELECT name
    FROM location
    WHERE id NOT IN (SELECT locationid FROM locationbookings WHERE date = '2023-03-06');


    3. Correlated Subquery එකක් විදියට (Using Exists operator)

    SQL:
    SELECT l.name
    FROM location l
    WHERE NOT EXISTS (SELECT locationid FROM locationbookings WHERE locationid = l.id AND date = '2023-03-06');

    ඔතනින් IN operator එක පාවිච්චි කරනවට වඩා Exists operator එක පාවිච්චි කලම performance එක වැඩියි.

    මමත් මේ දවස්වල ආයෙත් SQL බලාගෙන යනවා අවුරුදු ගානකින් කරලා නැහැ.
    mysql da
     
    • Like
    Reactions: Rumeshzoysa