Operatori logici e di paragone

In questa lezione iniziamo ad esaminare alcuni operatori utili in nel costruire query complesse.

Operatori di paragone

Confrontano due espressioni, o due valori numerici e non, in una query e restituiscono successivamente un valore logico, ovvero vero (TRUE) o falso (FALSE).

Uguaglianza ( = )

Questo operatore verifica l’uguaglianza fra le due espressioni o i due valori. Il confronto restituisce TRUE solamente se i valori o i risultati delle due espressioni (possono essere anche matematiche) sono uguali.

Nome e cognome degli impiegati che lavorano nel dipartimento con ID uguale a 40

SQL> SELECT first_name AS nome, last_name AS cognome,
  2  department_id FROM employees
  3  WHERE department_id = 40;
Risultato della query

Disuguaglianza ( <> )

Restituisce TRUE solamente se le due espressioni messe a confronto (o i due valori), quella a destra e quella a sinistra dell’operatore, non coincidono ovvero sono diverse.

Dati dei dipartimenti (tabella departments) il cui ID è diverso da 10

SQL> SELECT * FROM departments WHERE department_id <> 10;
Risultato della query

Minoranza ( < )

Restituisce TRUE solamente se il valore dell’espressione a sinistra è minore di quello dell’espressione situata a destra.

Impiegati che guadagnano meno di 2500

SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE salary < 2500;
Risultato della query

Maggioranza ( > )

Restituisce TRUE solamente se il valore dell’espressione a sinistra è maggiore di quello dell’espressione a destra.

Impiegati che guadagnano più di 16000

SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE salary > 16000;
Risultato della query

Minore o uguale di ( <= )

Restituisce TRUE solo se il valore dell’espressione a sinistra è minore o uguale al valore dell’espressione a destra.

Impiegati che guadagnano una cifra minore o uguale a 2200

 
SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE salary <= 2200;
Risultato della query

Maggiore o uguale di ( >= )

Restituisce VERO solo se il valore dell’espressione a sinistra è maggiore o uguale al valore dell’espressione a destra.

Impiegati che guadagnano almeno 13500

SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE salary >= 13500;
Risultato della query

Operatori logici

Gli operatori logici AND e OR sono utilizzati per combinare i risultati di due o più condizioni di paragone al fine di ottenere un unico risultato. L’operatore logico NOT è invece impiegato per negare il risultato di un singolo confronto o valore.

AND

Restituisce il valore TRUE se entrambe le espressioni (a sinistra e a destra dell’operatore AND) restituiscono a loro volta il valore TRUE. Se una delle due espressioni restituisce il valore FALSE allora l’operatore AND restituisce sempre FALSE.

Esiste un impiegato il cui cognome è ‘Bell’ e guadagna 4000 ?

SQL> SELECT last_name AS cognome, salary
  2  FROM employees WHERE last_name = 'Bell'
  3  AND salary = 4000;
Risultato della query

OR

Restituisce il valore TRUE se almeno una delle due o più espressioni coinvolte restituisce il valore TRUE. Se tutte le espressioni restituiscono FALSE allora anche OR restituiràFALSE.

Impiegati il cui cognome è uguale a ‘Gates’ oppure guadagno vale 12000

SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE last_name = 'Gates' OR salary = 12000;
Risultato della query

NOT

Restituisce l’opposto del valore dell’espressione: TRUE se il valore dell’espressione è FALSE e viceversa.

Impiegati il cui dipartimento è inferiore a 30

SQL> SELECT last_name AS cognome, department_id
  2  FROM employees
  3  WHERE NOT (department_id >= 30);
Risultato della query

L’espressione a destra dell’operatore logico NOT restituisce tutti quei dipartimenti il cui numero è maggiore o uguale a 30, ma la presenza dell’operatore NOT nega il valore dell’espressione restituendo esattamente l’opposto (dipartimenti con ID < 30).

Both comments and pings are currently closed.

Comments are closed.