Basi delle Query

Fondamenti per scrivere, eseguire e gestire query SQL usando il potente editor di query di HarborDB.

Guides
Ultimo aggiornamento: 16 febbraio 2026

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

  1. Area Editor: Scrivi qui le tue query SQL
  2. Barra degli Strumenti: Controlli per eseguire, annullare, formattare ed esportare
  3. Pannello Risultati: Visualizza i risultati delle query e le informazioni di esecuzione
  4. 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

  1. Scrivi la tua query nell'editor
  2. Clicca il pulsante Esegui (▶) o premi ⌘ + R
  3. Visualizza i risultati nel pannello risultati
  4. Controlla le informazioni di esecuzione nella barra di stato

Esecuzione Parziale di Query

Puoi eseguire solo parte di una query:

  1. Seleziona il testo che vuoi eseguire
  2. Clicca con il tasto destro e scegli "Esegui Selezione"
  3. 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

  1. Clicca il pulsante Esporta nella barra degli strumenti
  2. Scegli formato: CSV o JSON
  3. Seleziona destinazione: Salva su file o copia negli appunti
  4. Configura opzioni: Delimitatori, codifica, intestazioni

Salvare e Organizzare le Query

Salvare le Query

  1. Clicca Salva (⌘ + S) o l'icona salva
  2. Scegli posizione: File locale o libreria HarborDB
  3. 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 LIMIT per testare le prestazioni
  • Controlla indici mancanti
  • Usa EXPLAIN per 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:

  1. Pratica con le tue tabelle di database
  2. Esplora la guida Tecniche di Query Avanzate
  3. Impara su Esportazione Dati
  4. Prova tecniche di Ottimizzazione Prestazioni

Riferimento Rapido

Clausole SQL Essenziali

  • SELECT - Scegli colonne da restituire
  • FROM - Specifica tabella da interrogare
  • WHERE - Filtra righe
  • ORDER BY - Ordina risultati
  • LIMIT - Limita numero di righe
  • GROUP BY - Aggrega dati
  • HAVING - Filtra dati aggregati

Funzioni Comuni

  • COUNT() - Conta righe
  • SUM() - Somma valori
  • AVG() - Media valori
  • MIN()/MAX() - Trova estremi
  • COALESCE() - Gestisce valori NULL
  • CONCAT() - Combina stringhe
  • EXTRACT() - Ottiene parti di data

È stato utile?

Aiutaci a migliorare questa documentazione fornendo feedback.