Basi delle Query
Fondamenti per scrivere, eseguire e gestire query SQL usando il potente editor di query di HarborDB.
Benvenuti nel mondo delle query SQL in HarborDB! Questa guida ti insegnerà i fondamenti della scrittura, esecuzione e gestione delle query SQL usando il potente editor di query di HarborDB.
Introduzione a SQL in HarborDB
L'editor di query di HarborDB è progettato per rendere la scrittura e l'esecuzione di query SQL intuitive ed efficienti. Che tu stia recuperando dati, aggiornando record o creando oggetti del database, HarborDB fornisce un flusso di lavoro snello con funzionalità come evidenziazione della sintassi, auto-completamento e risultati in tempo reale.
Caratteristiche Chiave dell'Editor Query
- Evidenziazione della Sintassi: Parole chiave SQL, funzioni e letterali sono colorati per migliorare la leggibilità
- Auto-completamento: Nomi di tabelle, nomi di colonne e parole chiave SQL vengono suggeriti mentre digiti
- Schede Multiple: Lavora con diverse query simultaneamente in schede separate
- Pannello Risultati: Visualizza i risultati delle query immediatamente sotto l'editor
- Opzioni di Esportazione: Esporta risultati in CSV o JSON con un clic
- Cronologia Query: Accedi alle query eseguite di recente
- Segnalibri: Salva query usate frequentemente per accesso rapido
Scrivere la Prima Query
Istruzione SELECT Base
La query SQL più fondamentale recupera dati da una tabella:
SELECT * FROM users;
Questa query:
- SELECT *: Restituisce tutte le colonne dalla tabella
- FROM users: Specifica la tabella da interrogare
- ;: Termina l'istruzione (opzionale in HarborDB)
Selezionare Colonne Specifiche
Per recuperare solo colonne specifiche:
SELECT first_name, last_name, email FROM users;
Limitare i Risultati
Quando si lavora con tabelle grandi, è buona pratica limitare i risultati:
SELECT * FROM orders LIMIT 10;
L'Interfaccia dell'Editor Query
Componenti Principali
- Area Editor: Scrivi qui le tue query SQL
- Barra degli Strumenti: Controlli per eseguire, annullare, formattare ed esportare
- Pannello Risultati: Visualizza i risultati delle query e le informazioni di esecuzione
- Barra di Stato: Mostra informazioni di connessione, conteggio righe e tempo di esecuzione
Scorciatoie da Tastiera
| Scorciatoia | Azione |
| ------------- | ------------------ |
| ⌘ + R | Esegui query |
| ⌘ + . | Annulla query |
| ⌘ + T | Nuova scheda query |
| ⌘ + W | Chiudi scheda corrente |
| ⌘ + S | Salva query |
| ⌘ + F | Trova nella query |
| ⌘ + / | Attiva/disattiva commento |
| Tab | Indenta selezione |
| Shift + Tab | Deindenta selezione |
Eseguire le Query
Esecuzione Passo-Passo
- Scrivi la tua query nell'editor
- Clicca il pulsante Esegui (▶) o premi
⌘ + R - Visualizza i risultati nel pannello risultati
- Controlla le informazioni di esecuzione nella barra di stato
Esecuzione Parziale di Query
Puoi eseguire solo parte di una query:
- Seleziona il testo che vuoi eseguire
- Clicca con il tasto destro e scegli "Esegui Selezione"
- Oppure usa la scorciatoia da tastiera
⌘ + Shift + R
Risultati dell'Esecuzione
Dopo aver eseguito una query, vedrai:
- Griglia Risultati: Dati visualizzati in una tabella ordinabile e filtrabile
- Conteggio Righe: Numero totale di righe restituite
- Tempo di Esecuzione: Quanto tempo ha impiegato la query per essere eseguita
- Messaggi: Eventuali messaggi da PostgreSQL (specialmente per query DML)
Filtrare Dati con WHERE
Clausola WHERE Base
SELECT * FROM products WHERE price > 100;
Condizioni Multiple
SELECT * FROM orders
WHERE status = 'shipped'
AND order_date >= '2024-01-01';
Corrispondenza Pattern con LIKE
SELECT * FROM customers
WHERE email LIKE '%@gmail.com';
SELECT * FROM products
WHERE name LIKE 'Pro%';
Valori NULL
-- Trova righe dove email è NULL
SELECT * FROM users WHERE email IS NULL;
-- Trova righe dove email NON è NULL
SELECT * FROM users WHERE email IS NOT NULL;
Ordinare Risultati con ORDER BY
Ordine Crescente (Predefinito)
SELECT * FROM products ORDER BY price;
Ordine Decrescente
SELECT * FROM products ORDER BY price DESC;
Colonne di Ordinamento Multiple
SELECT * FROM employees
ORDER BY department, last_name, first_name;
Lavorare con i Risultati
Visualizzare i Risultati
- Scorrere: Naviga tra i risultati con mouse o tastiera
- Ordinare: Clicca intestazioni colonne per ordinare crescente/decrescente
- Filtrare: Clic destro intestazioni colonne per filtrare valori
- Ridimensionare: Trascina bordi colonne per regolare la larghezza
- Riordinare: Trascina intestazioni colonne per riorganizzare le colonne
Operazioni sulle Celle
- Copia Cella: Doppio clic su una cella o premi
⌘ + C - Modifica Cella: Doppio clic e modifica (solo per modifiche locali)
- Visualizza Contenuto Completo: Passa il mouse sopra celle troncate per vedere il tooltip
Esportare Risultati
- Clicca il pulsante Esporta nella barra degli strumenti
- Scegli formato: CSV o JSON
- Seleziona destinazione: Salva su file o copia negli appunti
- Configura opzioni: Delimitatori, codifica, intestazioni
Salvare e Organizzare le Query
Salvare le Query
- Clicca Salva (
⌘ + S) o l'icona salva - Scegli posizione: File locale o libreria HarborDB
- Aggiungi metadati: Nome, descrizione, tag
Libreria Query
Organizza le query salvate in cartelle:
- Preferiti: Segnala query usate frequentemente
- Recenti: Traccia automaticamente le query usate di recente
- Tag: Categorizza query con tag personalizzati
Template di Query
Crea template riutilizzabili per query comuni:
-- Template: Trova utenti inattivi
SELECT user_id, email, last_login
FROM users
WHERE last_login < CURRENT_DATE - INTERVAL '90 days'
AND active = true;
Pattern Comuni di Query
Contare Record
SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT country) FROM customers;
Aggregare Dati
SELECT
category,
COUNT(*) as product_count,
AVG(price) as avg_price,
MIN(price) as min_price,
MAX(price) as max_price
FROM products
GROUP BY category;
Query Data/Ora
-- Ordini di oggi
SELECT * FROM orders WHERE order_date = CURRENT_DATE;
-- Ultimi 7 giorni
SELECT * FROM logs
WHERE log_date >= CURRENT_DATE - INTERVAL '7 days';
-- Per mese
SELECT
EXTRACT(MONTH FROM order_date) as month,
COUNT(*) as order_count
FROM orders
GROUP BY EXTRACT(MONTH FROM order_date)
ORDER BY month;
Unire Tabelle
SELECT
o.order_id,
o.order_date,
c.first_name,
c.last_name,
c.email
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
WHERE o.status = 'completed';
Best Practice
1. Inizia con SELECT *
Quando esplori una nuova tabella, usa SELECT * per vedere tutte le colonne, poi perfeziona verso colonne specifiche.
2. Usa LIMIT
Usa sempre LIMIT quando interroghi tabelle non familiari per evitare risultati travolgenti.
3. Formatta le Tue Query
Usa formattazione consistente per la leggibilità:
- Parole chiave in maiuscolo
- Indentazione per query complesse
- Interruzioni di riga per clausole lunghe
4. Commenta il Tuo Codice
Aggiungi commenti per query complesse:
-- Calcola ricavi mensili per categoria prodotto
-- Escludendo ordini rimborsati e account test
SELECT
DATE_TRUNC('month', order_date) as month,
category,
SUM(amount) as total_revenue
FROM orders
WHERE status != 'refunded'
AND customer_id NOT IN (SELECT customer_id FROM test_accounts)
GROUP BY DATE_TRUNC('month', order_date), category
ORDER BY month DESC, total_revenue DESC;
5. Testa con WHERE 1=0
Per vedere la struttura delle colonne senza recuperare dati:
SELECT * FROM large_table WHERE 1=0;
Risoluzione Problemi Comuni
"La relazione non esiste"
- Controlla ortografia nome tabella e sensibilità a maiuscole/minuscole
- Verifica di essere connesso al database corretto
- Assicurati di avere i permessi appropriati
"La colonna non esiste"
- Verifica nomi colonne nella clausola SELECT
- Controlla errori di battitura
- Usa prima
SELECT *per vedere tutte le colonne disponibili
Query Lente
- Aggiungi
LIMITper testare le prestazioni - Controlla indici mancanti
- Usa
EXPLAINper analizzare il piano di query - Considera fattori di prestazione lato server
Errori di Connessione
- Verifica che la connessione sia attiva
- Controlla la connettività di rete
- Conferma che il server PostgreSQL sia in esecuzione
Prossimi Passi
Ora che comprendi le basi delle query:
- Pratica con le tue tabelle di database
- Esplora la guida Tecniche di Query Avanzate
- Impara su Esportazione Dati
- Prova tecniche di Ottimizzazione Prestazioni
Riferimento Rapido
Clausole SQL Essenziali
SELECT- Scegli colonne da restituireFROM- Specifica tabella da interrogareWHERE- Filtra righeORDER BY- Ordina risultatiLIMIT- Limita numero di righeGROUP BY- Aggrega datiHAVING- Filtra dati aggregati
Funzioni Comuni
COUNT()- Conta righeSUM()- Somma valoriAVG()- Media valoriMIN()/MAX()- Trova estremiCOALESCE()- Gestisce valori NULLCONCAT()- Combina stringheEXTRACT()- Ottiene parti di data
È stato utile?
Aiutaci a migliorare questa documentazione fornendo feedback.