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![]()
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![]()
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.codice:SELECT * FROM utenti WHERE numero_post > 100 UNION SELECT * FROM utenti WHERE id_utente < 5000
Tipo se hai:
è 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.codice:SELECT numero_post FROM utenti UNION SELECT testo_messaggio FROM post
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 :
è la stessa cosa questo?Codice PHP:
SELECT * FROM utenti WHERE numero_post > 100
UNION
SELECT * FROM utenti WHERE abitazione='Roma'
Codice PHP:
SELECT * FROM utenti WHERE numero_post > 100 AND abitazione='Roma'
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.