Loading:

Ferie zimowe - 3 za 2

Podzapytania wierszowe - MySQL

Do tej pory rozważaliśmy podzapytania odnoszące się do kolumn (podzapytania skalarne), tzn. podzapytania, które zwracają pojedynczą wartość kolumny. Podzapytanie wierszowe jest takim podzapytaniem, które zwraca jeden wiersz, i tym samym może zwrócić więcej niż jedną wartość kolumny.

 

Na przykład patrz Listing 1.0 lub 2.0.

 

 

 

W obydwu przypadkach wartośc zapytania jest równa TRUE jeśli tylko tablica tab2 zawiera wiersz, w którym col1 = 1, i col2 = 2.

 

Wyrażenie (1,2) i ROW(1,2) są czasem nazywane konstruktorami wierszowymi. Są też poprawne w troche innym kontekście. Na przykład, następne dwa zapytania są składniowo równoważne:(lisitng 3.0)

 

 

Normalnie, konstruktorów wieszowych używa się w celu porównania z podzapytaniami, które zwracają wartości dówch lub więcej kolumn. Na przykład, wykonanie nastepującego zapytania: (patrz listing 4.0)

 

da nam wynik: "wszystkie wiersze, w tablicy tab1 które istnieją też w tablicy tab2".



Napisz Artykuł

Listing

--Listing 1.0
SELECT * FROM tab1 WHERE (1,2) = (SELECT col1, col2 FROM tab2);

--Listing 2.0
SELECT * FROM tab1 WHERE ROW(1,2) = (SELECT col1, col2 FROM tab2);  

--Listing 3.0
SELECT * FROM tab1 WHERE (col1,col2) = (1,1);
SELECT * FROM tab1 WHERE col1 = 1 AND col2 = 1;

--Listing 4.0
SELECT col1,col2,col3
     FROM tab1
      WHERE (col1,col2,col3) IN
       (SELECT col1,col2,col3 FROM tab2);


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5213

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38319
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-17 v.1.5 | design: diviXdesign & rainbowcolors