Tutorial per la scrittura di SQL Express Query

May 18

Tutorial per la scrittura di SQL Express Query


SQL Server Express è un sistema di gestione di database relazionali disponibile gratuitamente da Microsoft. Un database relazionale consente di memorizzare grandi quantità di dati in tabelle. Ogni tabella contiene dati relativi a un determinato tipo di oggetto come prodotti o persone. Le colonne della tabella identificano proprietà dell'oggetto, come nome, indirizzo o il prezzo. Ogni riga della tabella contiene i valori delle proprietà per un oggetto.

È possibile recuperare e modificare le informazioni in un database SQL Server Express mediante l'emissione di Transact Structured Query Language (T-SQL) query.

istruzione

Eseguire query per il recupero dati

1 Fare clic sul pulsante "Start" nella barra delle applicazioni per visualizzare il menu Start. Scegliere la voce di menu "Tutti i programmi". Scegliere la voce di menu "Microsoft SQL Server 2008". Pulsante destro del mouse sulla voce di menu "SQL Server Management Studio", e scegliere "Esegui come amministratore". Fai clic su "Connetti".

2 Espandere l'icona che ha lo stesso nome come il computer, se non è già espanso. Espandere l'icona "Database" cliccando sul "+" accanto ad esso. Selezionare "AdventureWorks". Fai clic su "Nuova query" nella barra degli strumenti. Ora avete un aperto finestra di query che è possibile utilizzare per eseguire query sul database AdventureWorks.

3 Digitare quanto segue nella finestra di query e fare clic sul pulsante "Esegui" per eseguire la query che hai scelto:

SELECT * FROM Person.Contact

Un'istruzione SELECT recupera i dati da un database. La query che avete appena eseguito avrà restituito tutte le righe e tutte le colonne da una tabella denominata "Person.Contact" e visualizzati nel riquadro "Risultati" sotto la finestra di query. Il risultato dell'esecuzione di una istruzione SELECT viene chiamato un set di risultati.

Un'istruzione SELECT ha due parti necessarie: una clausola SELECT e una clausola FROM. La clausola FROM identifica la tabella da cui si desidera recuperare i dati. La clausola SELECT identifica le colonne che si desidera recuperare dalla tabella. L'asterisco (*) è un carattere jolly, che restituisce i valori di tutte le colonne.

4 Modificare il testo nella finestra di query come segue, e premere il tasto F5:

SELEZIONARE ContactID, Titolo, Nome, Cognome, EmailPromotion DA Person.Contact

Premendo il tasto F5 esegue anche una query. Si noti che il set di risultati include solo i dati ContactID, titolo, nome, cognome e EmailPromotion dalla tabella. A volte una tabella contiene una grande quantità di dati che non è necessario per visualizzare; è possibile elencare i nomi delle colonne nella clausola SELECT per limitare i valori della colonna restituiti solo i dati che dovete sapere.

5 Modificare il testo nella finestra di query come segue, e premere il tasto F5:

SELEZIONARE ContactID, Titolo, Nome, Cognome, EmailPromotion FROM WHERE Person.Contact EmailPromotion = 2

La ricerca sarà solo sono tornati le righe con un valore di EmailPromotion 2. compiuto questo con l'aggiunta di una clausola WHERE alla query e specificando una condizione di "EmailPromotion = 2." Se avete bisogno di cercare per le righe che soddisfano una determinata condizione, è possibile aggiungere una clausola WHERE per la vostra istruzione SELECT. La clausola WHERE è opzionale e segue la clausola FROM.

Ordina e sintetizzare i dati

6 Modificare il testo nella finestra di query come segue, e premere il tasto F5:

SELEZIONARE ContactID, Titolo, Nome, Cognome, EmailPromotion DA Person.Contact ORDER BY EmailPromotion

La ricerca avrà restituito tutte le righe, ma loro in ordine di valore nella colonna EmailPromotion. Hai fatto questo accada utilizzando una clausola ORDER BY --- un'altra parte opzionale del SELECT utilizzato per ordinare i dati nel set di risultati.

7 Modificare il testo nella finestra di query come segue, e premere il tasto F5:

SELEZIONARE ContactID, Titolo, Nome, Cognome, EmailPromotion DA Person.Contact ORDER BY DESC EmailPromotion

Quando si utilizza una clausola ORDER BY senza specificare l'ordinamento, il set di risultati apparirà in ordine crescente (dalla A alla Z, o basso al più alto). È possibile aggiungere "DESC" alla fine della clausola ORDER BY per ordinare i dati in ordine decrescente (dalla Z alla A o decrescente).

8 Modificare il testo nella finestra di query come segue, e premere il tasto F5:

Count SELECT (*) come 'Total' DA Person.Contact

Una delle potenti funzionalità di T-SQL è la capacità di riepilogare i dati. La query appena eseguito contato tutte le righe della tabella Person.Contact e restituito il risultato del calcolo in una colonna denominata Total. SQL Server eseguita questa magia perché si è utilizzato "Count

()" nella clausola SELECT. "Count ()" è noto come una funzione di aggregazione perché esegue un calcolo sui dati in più righe e restituisce il risultato del calcolo.

9 Modificare la riga nella finestra di query come segue, e premere il tasto F5:

SELEZIONE EmailPromotion, COUNT (*) come 'Total' DA Person.Contact GROUP BY EmailPromotion

I risultati dovrebbero essere simile al seguente:

EmailPromotion totale
-------------- -----------
0 11158
1 5044
2 3770

La query appena eseguito raggruppato tutte le righe in base al valore nella colonna EmailPromotion e conta il numero di righe in ciascun gruppo. E poi visualizzato un set di risultati con due colonne: una che contiene il valore nella colonna EmailPromotion e l'altra contenente il numero di righe della tabella che hanno tale valore. La clausola GROUP BY è un componente opzionale dell'istruzione SELECT che identifica il nome della colonna che separerà i dati in gruppi prima riassumerla.

Consigli e avvertenze

  • È possibile scaricare SQL Server 2008 Express Edition e il database AdventureWorks dal sito Web di Microsoft.
  • I passaggi riportati si riferiscono a Windows 7. È possibile utilizzare Windows XP Service Pack 2 (o versione successiva). Tuttavia, se si eseguono i passaggi su Windows XP, non sarà necessario scegliere "Esegui come amministratore" all'apertura di SQL Server Management Studio.
  • Quando si utilizza la clausola GROUP BY, la vostra clausola SELECT può includere solo i nomi delle colonne elencate nella clausola GROUP BY e funzioni di aggregazione.
  • Le parole chiave Transact-SQL come SELECT e WHERE non sono case sensitive. Tuttavia, alcune versioni del database AdventureWorks sono case sensitive. Se le domande che danno errori quando li si esegue, assicurarsi che li hai digitato esattamente, tra cui capitalizzazione.