Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [sql] union select

  1. #1

    [sql] union select

    Ciao a tutti, ho guardato sulle guide del sito ma non ho trovato spiegazioni soddisfacenti.

    Mi potreste spiegare l'utilizzo dell'operatore
    UNION SELECT ?

    grazie

  2. #2
    codice:
    SELECT *
    FROM utenti
    WHERE numero_post > 100
    
    UNION
    
    SELECT *
    FROM utenti
    WHERE id_utente < 5000
    Ti ho scritto questo esempio scemo giusto per far capire...in ogni caso le due select, o meglio i campi restituiti dalle stesse, devono essere compatibili per l'unione.

    Tipo se hai:
    codice:
    SELECT numero_post
    FROM utenti
    
    UNION
    
    SELECT testo_messaggio
    FROM post
    è ovvio che il numero_post (un numero intero) non è compatibile con testo_messaggio (un text) e quindi l'unione non è valida in quanto è l'unione di più tuple (righe) che devono avere lo stesso tipo.

  3. #3
    grazie della risposta.
    Ma quindi, l'UNION ha significato di AND...

    Se per esempio voglio cercare in un db gli utenti che hanno scritto più di 100 post e abitano a Roma,
    scrivo :
    Codice PHP:
    SELECT FROM utenti WHERE numero_post 100

    UNION

    SELECT 
    FROM utenti WHERE abitazione='Roma' 
    è la stessa cosa questo?
    Codice PHP:
    SELECT FROM utenti WHERE numero_post 100 AND abitazione='Roma' 

  4. #4
    NO, l'unione non ha il significato di AND.

    L'unione è un operazione tra insiemi, una fusione di due insiemi compatibili.

    L'and è un operazione logica su elementi.

    Nell'esempio che hai fatto tu con la UNION ha in pratica lo stesso valore di un OR in quanto prima prende tutti gli utenti che hanno un determinato numero di post e poi a questi ci aggiunge quelli che abitano a roma.

    Mentre l'esempio con l'AND prende solo gli utenti che contemporaneamente hanno più di un certo numero di post ed abitano a roma.

  5. #5
    ok. Grazie mille.

    Ora ho capito

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.