Database
 sql >> Database >  >> RDS >> Database

Comandi di base SQL:come scrivere query semplici con esempi

Questo articolo spiega come scrivere semplici query SQL a partire da quelle più elementari e migliorare gradualmente lo script per risolvere alcuni problemi matematici e relativi alla data. Inoltre, chiariremo i concetti relativi alle query SQL.

Sebbene questo articolo sia principalmente per principianti, contiene suggerimenti che saranno utili per qualsiasi livello di esperienza.

Cos'è la query SQL nel database?

Parliamo prima un po' delle query SQL per comprenderle correttamente prima di acquisire un'esperienza pratica di scrittura.

SQL sta per linguaggio di query strutturato questo è un linguaggio essenziale utilizzato per interrogare i database relazionali.

T-SQL vs SQL:qual è la differenza?

T-SQL o Transact-SQL è la versione Microsoft di SQL con più funzioni e caratteristiche rispetto al tradizionale linguaggio SQL noto anche come ANSI SQL.

Quindi, T-SQL è un linguaggio SQL tradizionale più altre cose aggiunte da Microsoft. È più comunemente usato e menzionato quando si parla di SQL.

Questo articolo farà riferimento alla versione Microsoft SQL indipendentemente dal fatto che utilizziamo la parola SQL o T-SQL.

Perché utilizziamo le query SQL in un database relazionale?

Un database relazionale è un database con chiavi utilizzate per connettere tabelle anziché connettere tabelle fisicamente.

Ad esempio, hai un tavolo chiamato Prenota che colleghi a un'altra tabella chiamata BookType tramite i tasti per aggiungere più significati ai record.

Le tabelle nell'illustrazione sono collegate tramite una chiave. Non è necessario collegarli fisicamente. Questa è la regola fondamentale dei database relazionali:crei relazioni tra le due tabelle con l'aiuto di chiavi.

Leggi anche database relazionale vs NoSQL:cosa scegliere per la gestione dei big data?

Cos'è l'interrogazione di un database?

Interroga il database per ottenere risposte alle domande relative a quel database. In altre parole, scrivi query su un database per ottenere informazioni sui dati in esso contenuti.

Ad esempio, sei interessato a visualizzare tutti i record di libri insieme ai loro tipi nel database specifico. È necessario interrogare quel database per visualizzare i dati richiesti. Per questo, devi scrivere ed eseguire uno script sul database.

Di cosa hai bisogno per fare una query?

Devono essere presenti alcuni prerequisiti per eseguire query su un database poiché non possiamo semplicemente scrivere ed eseguire una query ovunque su qualsiasi cosa.

Le seguenti cose sono obbligatorie per interrogare un database:

  1. Un server di database come SQL Server (installato in locale o in remoto) in cui archiviare il database.
  2. Uno strumento di gestione del database come SQL Server Management Studio o dbForge Studio per SQL Server che utilizzerai per scrivere ed eseguire le query
  3. Un database su cui eseguire le query. Puoi creare qualsiasi database di esempio per scopi di apprendimento.

Inoltre, devi avere una conoscenza di base del tuo database, ad esempio quale tabella contiene le informazioni desiderate e così via. Anche la comprensione dei concetti di database relazionali è un vantaggio.

Assumiamo che tu abbia già soddisfatto i requisiti di cui sopra. Ma potresti anche fare riferimento al seguente articolo per maggiori dettagli:

Nozioni di base su SQL Server Management Studio (SSMS) – Parte 1

Cose da fare prima di scrivere query in SQL

Adesso scriveremo semplici query SQL.

Si prega di configurare l'ambiente per iniziare a scrivere le query SQL. Prepara gli strumenti. Aprire dbForge Studio per SQL Server o SQL Server Management Studio e connettersi all'istanza SQL. Qui iniziamo il nostro viaggio SQL:

Una volta connesso con successo, premi CTRL+N oppure vai su File> Nuovo> Query con connessione corrente :

Ora sei connesso con successo al master (database di sistema) del server attualmente connesso.

Suggerimento importante: Crea sempre un database di esempio per eseguire le tue query (script) su di esso. L'esecuzione di query sui database di sistema non è una buona pratica ad eccezione di tre casi:

  1. Lavori con un database di esempio, quindi lo script creato per esso verrà eseguito sul database di sistema (master).
  2. Interroga di proposito il database principale per ottenere alcune informazioni da esso.
  3. Le query possono essere eseguite in modo sicuro sul database di sistema (master).

Imposta un database di esempio

Creiamo un database di esempio chiamato BookSimple senza tavoli. Scrivi il seguente script sul database master per creare un database di esempio e Premi F5 per eseguire la query:

-- Create sample database BookSimple
USE MASTER
GO

CREATE DATABASE BookSimple
GO

USE BookSimple

Il concetto basato su insiemi alla base delle query SQL

Prima di scrivere anche la query SQL più semplice, devi capire che SQL è un linguaggio basato su insiemi.

Significa che quando vuoi interrogare il tuo database usando SQL dovresti pensare in termini di insiemi o gruppi.

SQL è in base alla progettazione e per impostazione predefinita molto efficiente per soddisfare le richieste basate su set. Se architetti i tuoi script (query) tenendo presente la logica set-based, comprendi e implementi SQL più velocemente di quelli che seguono il tipico percorso di apprendimento (che ha i suoi vantaggi).

Pensiamo a un insieme naturale, come una classe o un gruppo. Quando ci riferiamo a una classe, ci riferiamo a tutti gli studenti di quella classe. SQL può aiutare a interrogare quella classe nel suo insieme.

Allo stesso modo, un Libro è un tavolo di libri. Contiene tutti i record per i libri. Possiamo semplicemente interrogare quella tabella come se si trattasse di un singolo libro, ma, in realtà, stiamo interrogando l'intera tabella dei libri rappresentata dal Libro tabella.

Vedremo più vantaggi del concetto basato sugli insiemi più avanti quando esploreremo alcuni esempi di base.

Semplice istruzione SQL SELECT

SELECT è un'istruzione T-SQL che recupera tutte o tutte le righe e le colonne selezionate (in base a un criterio) da un database.

In altre parole, SELEZIONARE ci consente di visualizzare (selezionare) i dati da una tabella o da un numero di tabelle in base a determinati criteri, che, se non menzionati in generale, mostrano tutti i dati.

Pertanto, SELECT è la prima istruzione da cercare se vogliamo recuperare righe e colonne da un database. La forma più semplice della sintassi SELECT è la seguente:

SELECT * FROM <Table>

Ricorda che modificheremo la sintassi con il tempo per migliorare gradualmente il processo di apprendimento.

Un altro modo per utilizzare l'istruzione SELECT è il seguente:

SELECT <Expression>

L'espressione può essere composta da molte cose, tra cui le seguenti:

  1. Costante (come un numero fisso come 1).
  2. Variabile (come @X che può essere modificata in qualsiasi numero).
  3. Combinazione di costanti o variabili (come 1+2 o @X [email protected]).

Tuttavia, se usi SELECT o SELECT * FROM

, devi pensare in termini di insiemi.

Come scrivere una semplice query SQL

Interroghiamo il BookSimple database aggiornando i database nodo in Esplora oggetti. Fai clic con il pulsante destro del mouse su BookSimple > Nuova query :

Annota la query SQL più semplice:scrivi ed esegui il seguente script sul database di esempio:

-- Display 1
SELECT 1

L'esecuzione della query (premendo F5) mostrerà i seguenti risultati:

Quindi, SELECT 1 restituisce 1, ma con una colonna senza nome (nessun nome di colonna).

1 è una costante. Rimarrà 1, quindi ci aspettiamo che anche il risultato sia 1. Tuttavia, c'è un'altra cosa importante da capire:il nostro output viene convertito in un insieme di 1 colonna e 1 riga. Poiché non abbiamo fornito alcun nome alla colonna e non vi è alcuna tabella coinvolta (da cui ottenere il nome), otteniamo il valore 1 per una colonna senza nome di una tabella senza nome (set).

Il linguaggio basato su set ha automaticamente restituito il nostro valore fornito a una colonna senza nome di una tabella senza nome con una riga.

Diamo un nome alla colonna modificando lo script come segue:

-- Show value 1 for the column Number of an unnamed table (set)
SELECT 1 AS Number

Esegui lo script per vedere il seguente set di risultati questa volta:

Poiché questa query restituisce sempre lo stesso valore (numero) che inseriamo (fornitura), non c'è molto da discutere oltre a capire perché il pensiero basato sugli insiemi è fondamentale per capire come funzionano le query.

Calcolo nell'estratto conto Select

Usiamo il caso precedente per calcoli rapidi in SQL:trasformiamo il singolo valore in un'espressione.

Ad esempio, vogliamo aggiungere rapidamente due numeri 1000 e 200. Possiamo semplicemente scrivere la seguente query senza menzionare alcuna tabella utilizzando solo l'istruzione SELECT:

-- Adding two numbers 1000 and 200 
SELECT 1000+200 AS [Sum Of 1000 And 200]

Il risultato è il seguente:

Allo stesso modo, possiamo aggiungere, moltiplicare, dividere e sottrarre numeri.

È utile aggiungere due colonne di una tabella contenente valori numerici. Tuttavia, possiamo anche utilizzare questo approccio per aggiungere due variabili. L'uso delle variabili è vantaggioso in quanto possiamo aggiungere due numeri qualsiasi inizializzando quelle variabili con i valori desiderati. Ciò è illustrato dal seguente script:

-- SQL script to add any two numbers
DECLARE @X INT, @Y INT, @Addition INT

SET @X=550 -- Initialise variable X with a value (number)
SET @Y=350 -- Initialise variable Y with a value (number)
 
SET @[email protected]@sqldat.com -- SUM X and Y

SELECT @X AS FirstNumber_X,@Y as SecondNumber_Y,@Addition as SumOfNumbers

L'esecuzione dello script ci mostra il seguente output:

Possiamo salvare questa query per riutilizzarla in qualsiasi momento per aggiungere due numeri qualsiasi (modificando i valori di @X e @Y). Se pensiamo a questo in termini di un set, possiamo dire che l'output viene restituito come una tabella (set) senza nome con una riga e le seguenti tre colonne:

  1. PrimoNumero_X
  2. SecondoNumero_Y
  3. SommaNumeri

Tuttavia, puoi fare di più con SELECT con un database vuoto (senza tabelle).

Un altro esempio di calcolo dei dati

Qui useremo la funzione GETDATE() per recuperare la data corrente e la data di consegna prevista di un ordine sconosciuto che non fa ancora parte della nostra tabella.

Supponiamo di non avere ancora alcuna tabella degli ordini, ma vogliamo calcolare rapidamente una data di consegna prevista per l'ordine del prodotto. Se aggiungiamo qualsiasi numero alla funzione GETDATE(), ci dirà la data aggiunta con il numero fornito dei giorni.

In altre parole, se prevediamo che la data di consegna dell'ordine sia di due giorni dopo l'inserimento dell'ordine, possiamo calcolarla utilizzando SELECT con GETDATE()+2.

Per vederlo in azione, esegui il seguente script SQL:

-- Calculating order date and expected delivery date
SELECT GETDATE() AS [Order Date],GETDATE()+2 as [Expected Delivery Date]

Il set di risultati è il seguente:

Questa volta potremmo calcolare la data di consegna prevista dell'ordine direttamente utilizzando l'istruzione SELECT con la funzione GETDATE() in assenza di qualsiasi tabella.

Tuttavia, se avessimo avuto una tabella, avremmo ottenuto la data di consegna prevista per tutti gli ordini in quella tabella.

Ancora una volta, se analizziamo questo output in termini di Set Logic, abbiamo una tabella senza nome (set) con due colonne e una riga. SQL è un linguaggio basato su insiemi che funziona molto velocemente con gli insiemi, come le tabelle. Se le tabelle non sono presenti, tratta i valori di input (da elaborare) come insiemi senza nome.

In breve, una query SQL richiede un'istruzione SELECT seguita da un'espressione per eseguire calcoli numerici o basati sulla data anche su un database vuoto (nessuna tabella).

Congratulazioni! Hai imparato le basi delle query SQL e hai scritto alcune semplici query con l'aiuto dell'istruzione SELECT su un database di esempio.

Rimani in contatto, poiché la scrittura di semplici query SQL sulle tabelle del database deve ancora venire.

Cose da imparare come scrivere meglio le query SQL

Ora che puoi scrivere alcune query SQL di base, prova i seguenti esercizi:

  1. Crea un database di esempio BookSimple2.
  2. Crea una query per moltiplicare due numeri qualsiasi definendoli come variabili.
  3. Scrivi una query per creare una data dell'ordine come data corrente, la data di spedizione come due giorni dopo la data dell'ordine e la data di consegna prevista come due giorni dopo la data di spedizione.