Loading:


    Podzapytania po słowie FROM - MySQL

    Podzapytania można również wykonywać po słowie FROM, aby porównać wyniki z różnych tabel.

     

    Składnia jest diwoczna na listingu 1.0:

     

     

    Klauzula AS jest obowiązkowa, gdyż każda tablica występująca zwykle po słowie FROM musi mieć nazwę. Wszystkie kolumny z listy kolumn podzapytania muszą mieć nazwy unikalne.

     

    Na przykład, załóżmy, że mamy następującą tablicę:(patrz listing 2.0)

     

     

    wtedy możemy skonstruować następujące zapytanie z podzapytaniem po słowie FROM: (patrz listing 3.0)


     

    Wynik jest następujący:

    Result: 2, '2', 4.0.


    Następny przykład:

    Załóżmy, że chcemy znać średnią zestawu sum z kolumny zgrupowanej tablicy. Następujące zapytanie nie zadziała: (patrz listing 4.0)


     

    Natomiast można uzyskac odpowiedni wynik, posługując się podzapytaniem: (patrz listing 5.0)


     

    Zauważmy, że nazwa kolumny użyta w podzapytaniu (sum_column1) jest użyta w zapytaniu zewnętrznym.



    Napisz Artyku³

    Listing

    --Listing 1.0
    SELECT ... FROM (podzapytanie) AS nazwa ...

    --Listing 2.0
    CREATE TABLE tab1 (s1 INT, s2 CHAR(5), s3 FLOAT);
    INSERT INTO tab1 VALUES (1,'1',1.0);
    INSERT INTO tab1 VALUES (2,'2',2.0);
    WHERE sb1 > 1;

    --Listing 3.0
    SELECT sb1,sb2,sb3
    FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM tab1) AS sb
    WHERE sb1 > 1;

    --Listing 4.0
    SELECT AVG(SUM(col)) FROM tab1 GROUP BY col1;

    --Listing 5.0
    SELECT AVG(sum_col1)
    FROM (SELECT SUM(col) AS sum_col1
    FROM tab1 GROUP BY col1) AS tab1;




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors