Sintassi SQL

Operatori aritmetici

* moltiplicazione

/ divisione

+ addizione

– sottrazione

Operatori logici

NOT capovolge il risultato logico dell’ espressione

AND combina due o piu’ espressioni logiche:

TRUE se sono tutte TRUE; altrimenti FALSE

OR combina due o piu’ espressioni logiche:

TRUE se qualcuna e’ TRUE; altrimenti FALSE

Operatori di confronto

= uguale a

!= , <> diverso da

> maggiore

>= maggiore o uguale

< minore

<= minore o uguale

IN uguale ad almeno un valore di un set o di una subquery

NOT IN diverso da ogni valore di un set o di una subquery

BETWEEN x AND y maggiore o uguale a x e minore o uguale a y

EXISTS TRUE se la subquery restituisce almeno una riga

LIKE trova una corrispondenza tra stringhe; ‘%’ corrisponde a qualsiasi

sequenza di caratteri, ‘_’ corrisponde a qualsiasi carattere singolo

IS NULL valore nullo

Operatori insiemistici

UNION restituisce tutte le righe della prima query + tutte le righe della seconda, evitando le righe duplicate

UNION ALL restituisce tutte le righe della prima query + tutte le righe della seconda, comprese le righe duplicate

INTERSECT restituisce solo le righe di intersezione tra due query, evitando le righe duplicate

MINUS restituisce tutte le righe della prima query che non sono anche nella seconda, evitando le righe duplicate

Altri operatori

Operatore Funzione

* indica tutte le colonne di una tabella o di una vista

(+) indica una colonna in outer join

PRIOR indica una relazione padre-figlio tra nodi di una query strutturata ad albero

DISTINCT elimina le righe duplicate dal risultato di una query

ALL mantiene le righe duplicate nel risultato di una query (e’ il default)

Funzioni

Funzioni numeriche

ABS(n) valore assoluto di n

ROUND(n[,m]) n arrotondato a m cifre decimali; m=0 di default; m puo’ essere negativo

TRUNC(n[,m]) n troncato a m cifre decimali; m=0 di default; m puo’ essere negativo

SIGN(n) 1 se n e’ positivo; 0 se n e’ 0; -1 se n e’ negativo

CEIL(n) il piu’ piccolo intero maggiore o uguale a n

FLOOR(n) il piu’ grande intero minore o uguale a n

MOD(n,m) il resto della divisione di n per m

POWER(n,m) n elevato alla m

SQRT(n) radice quadrata di n

Funzioni di stringa

Funzione Valore restituito

SUBSTR(char,m[,n]) una sottostringa di char, che inizia al carattere m, lunga n byte (se n manca, lunga fino alla fine della stringa char)

LENGTH(char) lunghezza della stringa char in byte

CHR(n) carattere con valore ASCII n

ASCII(char) valore ASCII del primo carattere della stringa char

UPPER(char) stringa char con tutte le lettere maiuscole

LOWER(char) stringa char con tutte le lettere minuscole

INITCAP(char) stringa char con l’ iniziale di ogni parola maiuscola

REPLACE(char,string1[,string2])

char con ogni occorrenza di string1 sostituita da string2 (se manca string2, string1 viene cancellata)

TRANSLATE(char,from,to) char con ogni carattere presente in from sostituito col corrispondente carattere di to

RPAD(char1,n[,char2]) char1, riempito a destra di char2 fino alla lunghezza n (il default di char2 e’ un blank)

LPAD(char1,n[,char2]) char1, riempito a sinistra di char2 fino alla lunghezza n (il default di char2 e’ un blank)

RTRIM(char[,set]) char, con i caratteri finali cancellati dopo l’ ultimo carattere non in set (il default di set e’ un blank)

LTRIM(char[,set]) char, con i caratteri iniziali cancellati prima del primo carattere non in set (il default di set e’ un blank)

Funzioni di gruppo

AVG(n) valore medio di n, ignorando i valori nulli

COUNT(*) numero di righe estratte dalla query

COUNT([DISTINCT]expr) numero di righe estratte dalla query

MAX(expr) valore massimo di expr

MIN(expr) valore minimo di expr

SUM(n) somma dei valori di n

Funzioni sulle date

SYSDATE data e ora corrente di sistema

ADD_MONTHS(d,n) data d + n mesi

LAST_DAY(d) data dell’ ultimo giorno del mese contenente d

MONTHS_BETWEEN(d1,d2)

numero di mesi compresi tra d1 e d2

NEXT_DAY(d,char) data del primo giorno della settimana identificato da char

uguale o maggiore di d

ROUND(d[,fmt]) data d arrotondata come specificato dal formato fmt

TRUNC(d[,fmt]) data d troncata come specificato dal formato fmt

Funzioni di conversione

TO_CHAR(expr[,fmt]) expr, convertito da NUMBER o DATE a CHAR nel formato specificato da fmt

TO_DATE(char[,fmt]) char, convertito da CHAR nel formato fmt a DATE

TO_NUMBER(char[,fmt]) char, che deve essere una stringa contenente un numero nel formato opzionale fmt, convertito in NUMBER

Altre funzioni

Funzione Valore restituito

DECODE(expr,search1,return1, [search1,return1,]…[default])

se expr eguaglia qualche search, restituisce return, altrimenti restituisce default

DUMP(expr) expr nel formato interno di Oracle

GREATEST(expr1[,expr2]…)

expr col valore maggiore

LEAST(expr1[,expr2]…) expr col valore minore

NVL(expr1,expr2) expr2, se expr1 e’ nullo; altrimenti expr1

UID numero identificativo dell’ utente corrente

USER nome dell’ utente corrente

USERENV(‘option’) informazione sulla sessione corrente.

Options: SESSIONID, TERMINAL, ecc

VSIZE(expr) numero di byte occupati dalla rappresentazione interna di expr

Pseudo-colonne

Nome colonna Valore restituito

sequence.CURRVAL valore corrente della sequence valido per la sessione corrente se e’ stato referenziato prima NEXTVAL

sequence.NEXTVAL valore incrementale della sequence nella sessione corrente

[table.]LEVEL 1 per il nodo radice, 2 per un figlio di radice, ecc; usato nelle query strutturate ad albero

[table.]ROWID identificativo di una riga di una tabella del database (contiene il block_id, il row_id e il file_id)

ROWNUM posizione di ogni riga estratta da una query

Pseudo-tabelle

Nome tabella Valore restituito

DUAL pseudo-tabella presente in ogni database Oracle, accessibile a tutti gli utenti, che contiene 1 colonna di 1 carattere e 1 riga; permette di eseguire ‘false’ SELECT allo scopo di eseguire calcoli, visualizzare la data, incrementare una sequence di 1 unita’

About Mauro De Filippis 11233 Articles
Laureato in Ingegneria Informatica nel 2008 presso l'Università degli Studi di Lecce con una tesi in Processi di Produzione Robotizzati dal titolo "Integrazione delle tecniche di progettazione del ciclo di lavorazione con programmazione della produzione”. Le mie attività principali sono : sviluppo di applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram (progettazione, sviluppo e test delle applicazioni ) sviluppo in ambiente .NET sviluppo Web in ambiente PHP, ASP Installazione, progettazione, utilizzo di Db MS SQL Server, Mysql, Acces , Oracle Da anni mi occupo di CMS Open Source, in particolare di Joomla e Wordpress. Mia è la Guida Wordpress 3.5, la Guida Joomla 2.5 , il Corso online Joomla! 2.5 ed il Corso online Wordpress Mi occupo anche di LMS in particolare di Moodle e Docebo. Google+ by Mauro De Filippis

1 Commento

  1. Thanks for every other informative web site. Where else could I get that type of info written in such a perfect manner? I’ve a mission that I’m simply now running on, and I’ve been on the glance out for such information.

Leave a Reply

L'indirizzo email non sarà pubblicato.


*