![]() |
|
Istruzione SELECT dell'Sql
Con questo capitolo iniziamo il percorso verso la teoria e la pratica sulla sintassi Sql iniziando dai criteri con cui è possibile effettuare ricerche, in gergo tecnico dette query. SELECT * FROM anagrafe;letteralmente: SELEZIONA tutti i campi DALLA TABELLA anagrafe; Il simbolo asterisco (*) indica appunto tutti i campi, ogni operazione va conclusa con un punto e virgola (;), potremmo però decidere di selezionare ad esempio solo il campo nome: SELECT nome FROM anagrafe;oppure due o più campi: SELECT nome,cognome,anni FROM anagrafe;Utilizziamo quindi la virgola (,) per separare più valori. Creiamo ora una query che restituisca determinati record in base ad una condizione: SELECT * FROM anagrafe WHERE nome = 'Luca';letteralmente: SELEZIONA tutti i campi DALLA TABELLA anagrafe DOVE IL CAMPO nome E' UGUALE A Luca; Possiamo potenziare i criteri di ricerca stabilendo più di una condizione: SELECT * FROM anagrafe WHERE nome = 'Luca' AND cognome = 'Ruggiero';letteralmente: SELEZIONA tutti i campi DALLA TABELLA anagrafe DOVE IL CAMPO nome E' UGUALE A Luca ED IL CAMPO cognome E' UGUALE A Ruggiero; Possiamo però avere l'esigenza di escludere l'uno o l'altro criterio di ricerca, quindi: SELECT * FROM anagrafe WHERE nome = 'Luca' OR nome = 'Pippo';Non è finita qui, possiamo effettuare una ricerca che consenta di trovare tutti i record i cui campi utilizzati abbiano valori simili, se ad esempio scrivo: SELECT * FROM anagrafe WHERE nome LIKE 'Luca';tra i risultati della ricerca troverò probabilmente anche eventuali ocorrenze di Lucia e simili. Effettuare una ricerca in questo modo comunque inutile, possiamo utilizzare l'operatore LIKE integrando nell'espressione il simbolo percentuale (%) che serve a recuperare una parte non specificata del valore di un campo, ad esempio %luca troverà sia i campi con l'occorrenza di Luca che di Gianluca ecc... un esempio: SELECT * FROM anagrafe WHERE nome LIKE '%luca';Il simbolo % più essere utilizzato sia all'inizio che alla fine di un valore, o in tutti e due i posti. Possiamo, grazie all'operatore di confronto BETWEEN, selezionare i record dove, ad esempio nel campo anni l'età sia compresa tra un certo numero di anni ed un numero maggiore: SELECT * FROM anagrafe WHERE anni BETWEEN '20' AND '30';I risultati saranno tutti i record il cui corrispondente valore del campo anni andrà da 21 a 29. Grazie al comando DISTINCT possiamo ricercare record che potrebbero essere stati ripetuti, ad esempio se ci sono due Luca Ruggiero nel database possiamo tentare di arrivare alla persona che ci interessa con una certa facilità, se ad esempio scrivessimo: SELECT DISTINCT nome,cognome,nato_a FROM anagrafe WHERE cognome = 'Ruggiero' AND nato_a = 'Napoli';ritroveremo un solo Luca Ruggiero nato a Napoli, ma ovviamente potrebbero essercene comunque più di uno, dobbiamo quindi "chiudere il cerchio" il più possibile specificando ulteriori condizioni, aggiungiamo quindi all'esempio precedente l'espressione: ... AND anni = '24';e troveremo Luca Ruggiero nato a Napoli che ha 24 anni. Possiamo ordinare i nostri risultati in ordine crescente o decrescente scegliendo come parametro un qualsiasi campo, il nome, il cognome, l'età, la città di nascita ecc, vediamo un esempio in cui ordiniamo il ordine alfabetico crescente i record in base al cognome: SELECT * FROM anagrafe ORDER BY cognome;ORDER BY ci permette di fare questo, ma possiamo anche, grazie al comando DESC, ordinare i risultati in ordine decrescente: SELECT * FROM anagrafe ORDER BY cognome DESC;Concludiamo la lezione contando i record che ci interessano col comando COUNT: SELECT COUNT (*) FROM anagrafe WHERE nome = 'Luca';sapremo quanti Luca ci sono nel database, ma possiamo fare ancora di più: SELECT DISTINCT COUNT (*) FROM anagrafe;in questo modo se ci sono dei record che si ripetono possiamo escluderli dal conteggio e sapere quanti record univoci sono presenti. E' comunque possibile ovviare a questo inconveniente direttamente da codice, se ad esempio utilizziamo il database per un'applicazione Web in Asp, possiamo da codice Asp non permettere l'inserimento di un intero record uguale effettuando dei controlli prima di autorizzare inserimento. |
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||