User Tag List

Ցույց են տրվում 1 համարից մինչև 15 համարի արդյունքները՝ ընդհանուր 93 հատից

Թեմա: Հարցեր SQL-ից

Համակցված դիտում

Նախորդ գրառումը Նախորդ գրառումը   Հաջորդ գրառումը Հաջորդ գրառումը
  1. #1
    Պատվավոր անդամ Ներսես_AM-ի ավատար
    Գրանցման ամսաթիվ
    25.06.2006
    Գրառումներ
    4,303
    Բլոգի գրառումներ
    1
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    չէ նույնը չի,
    Հա ճիշտ ա նույնը չի լավ չէի նկատել որ <> ես դրել պայմանի մեջ. մտածել էի = ես դրել: Բայց էս քո գրածով ընդհանրապես ոչ մի տող չի գա
    Կոդ:
    Select * From Table1
    Left Join Table2 on (Table1.ID=Table2.TABLE1ID)
    Where Table1.ID<>Table2.TABLE1ID
    որովհետև մի հատ գրել ես «on (Table1.ID=Table2.TABLE1ID)» հետո էլ գրել ես «Where Table1.ID<>Table2.TABLE1ID», որ էտ նույն տողերը իրար հավասար չլինեն
    Եթե outer join արած լինեիր էտ դեպքում քո ասածը կվերադարձներ:

    իմ կարծիքով ամենաարագը պիտի որ սա լինի
    Կոդ:
    SELECT Table1.* 
    FROM Table1 LEFT OUTER JOIN Table2 
    ON (Table1.ID=Table2.TABLE1ID)
    WHERE Table2.ID IS NULL
    Join սենց թե նենց պիտի անես դրանից չես փախնի, իսկ where-ն էլ սրանից օպտիմալ ինձ թվում ա դժվար ա գրել: Բայց եթե մի ուրիշ խելքին մոտ բան մոգոնես ասա:
    Հա էտ where-ի սյունյակը պիտի նենց սյունյակ վերցնես որ null չի լինում օրինակ primary key-ն: Վերադարձվող ինֆոյի ծավալն էլ ինչքան կարող ես փոքրացրու, կոնկրետ ես վերցրել եմ առաջին աղյուսակի սյուները: Մեծ միլիոնանոց ռեզալսեթերի դեպքում էական տարբերություն ա տալիս:

  2. #2
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ներսես_AM-ի խոսքերից Նայել գրառումը
    որովհետև մի հատ գրել ես «on (Table1.ID=Table2.TABLE1ID)» հետո էլ գրել ես «Where Table1.ID<>Table2.TABLE1ID», որ էտ նույն տողերը իրար հավասար չլինեն
    Եթե outer join արած լինեիր էտ դեպքում քո ասածը կվերադարձներ:

    Շնորհակալություն արձագանքի համար:
    Իրականում Left [Outer] Join ...
    Outer-ը կարելի ա, բաց թողել Where-ը աշխատում է ամենավերջում` join-ը կատարելուց հետո:

    Table2.ID IS NULL տարբերակն իրոք որ համարժեք է` թե արդյունքի, թե Engine-ի կողմից կատարվող գործողությունների տեսանկյունից (նույնիսկ որոշ Engine-ների կողմից ավելի արագ է կատարվում` կախված NULL երի հետ աշխատելու սկզբունքից):
    2 աղյուսակում ID-ները առաջնային բանալի են (նկարում կա) և ինդեքսավորված:
    Վերադարձվող ինֆորմացիայի քանակը, կախված RAM-ից, իհարկե կապ ունի, ինձ ամբողջն ա պետք, դրա համար եմ տենց գրել:
    Գոյություն ունի նաև ոչ ակնհայտ համակցման տարբերակ` առանց Join-ի, սակայն խոսքը գնում է, հենց այս տարբերակի մասին:

    Մի խոսքով, ոնց հասկացա Firebird-ի մասին չեք ասում ավելին, քան կա:

    Համենայն դեպս, իրոք շնորհակալ եմ

  3. #3
    Պատվավոր անդամ Ներսես_AM-ի ավատար
    Գրանցման ամսաթիվ
    25.06.2006
    Գրառումներ
    4,303
    Բլոգի գրառումներ
    1
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Varzor, Firebird-ից տեղյակ չեմ, mysql-ով եմ ասում, էնտեղ եթե OUTER չես գրում default-ով INNER ա լինում:

    Ուրիշ բան չեմ կարող ասել, բայց եթե մի խելոք բան գտնես ստեղ գրի մենք էլ իմանանք

  4. #4
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Հա բա իհարկե
    Բա էլ ինչի համար են ֆորումները? միայն վերցնելու? կարելի է նաև ներդնել

    Մի հարց MySQL-ւմ սենց բաներ կան?

    Select ... from
    LEFT INNER JOIN
    և
    Select ... from
    LEFT OUTER JOIN

    Որն է տարբերությունը??
    Վերջին խմբագրող՝ Varzor: 03.05.2011, 18:36:

  5. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Աթեիստ (03.05.2011)

  6. #5
    Պատվավոր անդամ Ներսես_AM-ի ավատար
    Գրանցման ամսաթիվ
    25.06.2006
    Գրառումներ
    4,303
    Բլոգի գրառումներ
    1
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Հա բա իհարկե
    Բա էլ ինչի համար են ֆորումները? միայն վերցնելու? կարելի է նաև ներդնել

    Մի հարց MySQL-ւմ սենց բաներ կան?

    Select ... from
    LEFT INNER JOIN
    և
    Select ... from
    LEFT OUTER JOIN

    Որն է տարբերությունը??
    հա ոնց չկա, տարբերությունն էլ հենց էն էր որ, OUTER-ի դեպքում երկրորդ աղյուսակի տողերը գալիս են NULL-երով եթե այդ տողը գոյություն չունի,
    կարճ ասած ստեղ լավ նկարագրել ես http://www.akumb.am/showthread.php/1...=1#post2228554

    ու mysql-ում երբ գրում ես A JOIN B դեֆոլթով հասկանում ա LEFT INNER JOIN, եթե OUTER ես ուզում պիտի արդեն գրես OUTER: OUTER JOIN միայն գրելուց էլի LEFT ա հասկանում, կարող ես RIGHT գրես:

  7. #6
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Firebird-ում 7 SQL Server-ում [Left] [Right] INNER JOIN` այսինքն կարելի է բաց թողնել` ստացվում է սովորական միավորում` ըստ պայմանի:
    Այ սենց տարբերություններ կան, դրա համար էլ, եթե մի բանով աշխատում ես, հետո անցնում մյուսին երբեմն օրերով չարչարվու ես մի հատ բարդ հարցումը "թարգմանելու" համար

  8. #7
    Պատվավոր անդամ Universe-ի ավատար
    Գրանցման ամսաթիվ
    09.04.2007
    Գրառումներ
    2,294
    Բլոգի գրառումներ
    6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Կներեք էս տոն օրով որ սենց հարցեմ տալի,ամեն դեպքում գործիս հետա կապված
    ՈՒրեմն նման միխնդիր ախպեր ջան՞

    Միկայք եմ տեղափոխում ՀԻՆԱՎՈՒՐՑ մի համակարգից նոր իմ գնած դվիժոկի վրա:
    Քանի որ հին տվյալների բազան բավականին լիքն էր այցելուների տվյալներով, որոշեցի տեղափոխել բոլոր յուզեռներին առանց բացառության ինչ գնով էլ լինի:
    Տեղափոխեցի, մի քանի մոդիֆիկացում տեյբլներում ու etc... ներում և 1-ից 1 ստացվեց:

    Այժմ, կանգնած եմ ի այսպիսի անպատկառ, անախորժ ու անկապ խնդրի առջև: Նախկինում յուզեռների password-ները պահվում էին տվյալների բազայու սովորական TEXT ի սկզբունքով, իսկ հիմա՝, նոր համակարգում, գաղտնաբառերը պահվում են MD5 տարբերակով:

    Ուրեմն այսպիսի հարց.
    Որպեսզի, բոլոր 5.000 ից ավել յուզեռներին ՁԵՌՔՈվ չմտնեմ ու TYPE ը փոխեմ բոլորինը MD5 hash ի վրա, ապա ինչպե՞ս կարող եմ դա անել հրամանով, կամ ավտոմատ, որպեսզի բոլորում միանգամից դրանք ուղղվեն:

    Նախապես շնորհակալ եմ:

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Համանման թեմաներ

  1. Հարցեր AngularJS֊ից
    Հեղինակ՝ Freeman, բաժին` Վեբ ծրագրավորում
    Գրառումներ: 7
    Վերջինը: 31.08.2016, 23:19
  2. Հարցեր պլանշետներից
    Հեղինակ՝ aerosmith, բաժին` Հարց ու պատասխան
    Գրառումներ: 107
    Վերջինը: 24.10.2015, 20:59
  3. Հարցեր PHP-ից
    Հեղինակ՝ ARMbrain, բաժին` Վեբ
    Գրառումներ: 63
    Վերջինը: 12.07.2012, 12:53
  4. Հարցեր Oracle-ից :)
    Հեղինակ՝ sedrakpc, բաժին` Ծրագրավորում
    Գրառումներ: 4
    Վերջինը: 30.08.2011, 13:22
  5. Հարցեր Ucoz - ից
    Հեղինակ՝ xaker00, բաժին` Վեբ կայքերի քննարկում
    Գրառումներ: 3
    Վերջինը: 07.06.2010, 19:13

Թեմայի պիտակներ

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •