|
|
OracleLEZIONI - OPERATORI LOGICI E DI PARAGONE In questa lezione iniziamo ad esaminare alcuni operatori utili in nel costruire query complesse. Operatori di paragoneConfrontano due espressioni, o due valori numerici e non, in una query e restituiscono successivamente un valore logico, ovvero vero ( Uguaglianza ( = )Questo operatore verifica l'uguaglianza fra le due espressioni o i due valori. Il confronto restituisceTRUE 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; Disuguaglianza ( <> )Restituisce Dati dei dipartimenti (tabella departments) il cui ID è diverso da 10 SQL> SELECT * FROM departments WHERE department_id <> 10; Minoranza ( < )Restituisce Impiegati che guadagnano meno di 2500 SQL> SELECT last_name AS cognome, salary 2 FROM employees 3 WHERE salary < 2500; Maggioranza ( > )Restituisce Impiegati che guadagnano più di 16000 SQL> SELECT last_name AS cognome, salary 2 FROM employees 3 WHERE salary > 16000; Minore o uguale di ( <= )Restituisce Impiegati che guadagnano una cifra minore o uguale a 2200 SQL> SELECT last_name AS cognome, salary 2 FROM employees 3 WHERE salary <= 2200; 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; Operatori logiciGli 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. ANDRestituisce il valore 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; ORRestituisce il valore 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; NOTRestituisce l'opposto del valore dell'espressione: Impiegati il cui dipartimento è inferiore a 30 SQL> SELECT last_name AS cognome, department_id 2 FROM employees 3 WHERE NOT (department_id >= 30); 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). |