Struttura delle espressioni

Un'espressione consiste di una combinazione qualsiasi di nomi di colonne, valori letterali, operatori o funzioni.

Per combinare elementi nella generazione di espressioni, attenersi alle seguenti indicazioni:

  • Fare riferimento alle colonne immettendone i nomi. Se nella query si utilizza più di una tabella e se si utilizza un nome di colonna che non è univoco, è necessario aggiungere il nome della tabella e un punto al nome della colonna. Il seguente esempio mostra il nome della colonna job_id qualificato con il nome della tabella employee:

    employee.job_id
    
  • Racchiudere il testo letterale tra virgolette singole. Non sono necessarie virgolette per i numeri.

    Nota

    In alcuni database le parole tra virgolette singole vengono interpretate come valori letterali, mentre le parole tra virgolette doppie vengono interpretate come oggetti di database quali riferimenti a colonne o tabelle. Di conseguenza, anche se in Progettazione query e Progettazione visualizzazioni è possibile accettare termini tra virgolette doppie, l'interpretazione potrebbe essere diversa da quella prevista. In SQL Server le virgolette doppie sono sempre interpretate come delimitatori di oggetti database.

  • Utilizzare gli operatori aritmetici standard per i numeri e un operatore di concatenazione per la combinazione di stringhe.

  • Utilizzare le parentesi per definire la precedenza degli operatori.

  • Se si include una funzione, attenersi alle stesse indicazioni per gli argomenti passati alla funzione. Fare quindi riferimento alle colonne immettendone i nomi, delimitare i testi letterali tra virgolette singole e così via.

  • Se si passano i nomi di colonne come argomenti di funzione, accertarsi che il tipo di dati della colonna sia appropriato rispetto all'argomento della funzione.

  • È possibile includere funzioni definite dall'utente restituendo un valore scalare in un'espressione.

Nella tabella riportata di seguito viene illustrato l'utilizzo delle espressioni in una query.

Espressione*

Risultato

SELECT (price * .9)FROM products

Visualizza un prezzo scontato (10% in meno rispetto al valore della colonna prezzo).

SELECT sales.qty, titles.price

FROM sales INNER JOIN titles ON sales.title_id = titles.title_id ORDER BY (sales.qty * titles.price)

Dopo avere effettuato il join di due tabelle, ordina il gruppo di risultati in base al valore totale di un ordine (quantità moltiplicata per il prezzo).

SELECT au_lname, au_fname FROM authors WHERE (SUBSTRING(phone, 1, 3) = '415')

Visualizza gli autori il cui prefisso telefonico è della zona di San Francisco.

SELECT ord_num, ord_date FROM sales WHERE (ord_date >= DATEADD(day, -10, GETDATE()))

Trova tutti gli ordini della tabella sales immessi negli ultimi 10 giorni. La data odierna viene restituita dalla funzione GETDATE( ).

*   Alcune funzioni e alcuni operatori mostrati negli esempi sono specifici di un determinato database. Per ulteriori informazioni sugli operatori e sulle funzioni utilizzabili, vedere la documentazione del database utilizzato.

Vedere anche

Concetti

Variabili predefinite per le espressioni

Espressioni nelle query

Altre risorse

Esecuzione di query mediante l'utilizzo di parametri