Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué es SQL?
SQL SQL (Structured Query Language, Lenguaje de Consulta Estructurado) es un lenguaje
estándar para almacenar, manipular y recuperar datos almacenados en una bases de datos.
SQL puede...
RDBMS
RDBMS significa Sistema Relacional de Gestión de Base de Datos y es la base de datos
donde se usa SQL y es la estructura de bases de datos que utilizan todos los sistemas de
bases de datos modernos, como MS SQL Server, IBM DB2, Oracle, MySQL, Postgres y
Microsoft Access.
Los datos en RDBMS se almacenan en las tablas de la base de datos. Una tabla es una
colección de registros de datos relacionados y consta de campos y filas.
Donde:
● nombre_de_la_tabla es el nombre que va a tener la tabla creada. Este
nombre debe ser único en una base de datos, esto es, no puede haber dos
tablas con el mismo nombre;
● campo1, campo2 … especifican los nombres de los campos que va a tener
la tabla y
● tipo_de_dato especifica el tipo de datos que la campo puede contener.
Por ejemplo, si queremos crear la tabla "Alumnos" que contenga los campos DNI, Apellido,
Nombre, Dirección y Ciudad la sentencia SQL sería:
Resultado:
Nota: No puede haber dos tablas con el mismo nombre en la misma base de datos, por eso
da un error cuando se lo intenta.
Donde:
1
● valor1, valor2, … son los valores que vamos a insertar.
Resultado:
Resultado:
Resultado:
Si se insertan valores para todas los campos de la tabla, no es necesario especificar los
nombres de campo en la consulta SQL. Sin embargo, debe asegurarse de que el orden de
los valores esté en el mismo orden que los campos de la tabla. En este caso la sintaxis de
la primera sentencia INSERT INTO del ejemplo anterior sería:
NTO Alumnos
INSERT I
VALUES (33222334, 'García', 'Paula', 23, 'CABA');
Resultado:
También es posible insertar sólo algunos valores en campos específicas, dejando vacías
(NULL) el resto. Por ejemplo, la siguiente instrucción SQL inserta un nuevo registro, pero
sólo los campos "DNI", “Apellido" y "Nombre" tendrán valores, el resto será vacío:
2
También se pueden insertar varios valores de una sola vez:
Resultado:
Donde:
Por ejemplo, para seleccionar el Nombre y la Ciudad de los registros de la tabla “Alumnos”:
Resultado:
Number of Records: 6
Nombre Ciudad
Paula CABA
Carlos CABA
Carlos Rosario
Maitén Rosario
Gerardo Córdoba
3
Luis Córdoba
Para seleccionar algunos de los datos de una tabla se usa WHERE. Por ejemplo, para
seleccionar todas las Alumnos de Rosario:
SELECT *
FROM Alumnos
WHERE Ciudad = 'Rosario';
Resultado:
Number of Records: 2
Nota: en vez de usar la lista de campos usamos “*”, que quiere decir que seleccione todos
los campos de la tabla.
SELECT *
FROM Alumnos
WHERE Ciudad = 'Rosario' AND Nombre = 'Carlos';
Resultado:
Number of Records: 1
SELECT *
FROM Alumnos
WHERE Ciudad = 'Rosario' OR Ciudad = 'CABA';
Resultado:
Number of Records: 4
4
DNI Apellido Nombre Edad Ciudad
Funciones
Para contar la cantidad de registros que cumplen una condición WHERE en una table, se
usa la función COUNT(*):
SELECT count(*)
FROM Alumnos
WHERE Ciudad = 'Córdoba';
Resultado:
Number of Records:1
count(*)
A los campos se les puede aplicar las funciones MAX() para calcular el valor máximo, MIN()
para el mínimo, AVG() para el promedio y SUM() para sumarlos.
Resultado:
Number of Records:1
22 64 39.166666666666664 235
5
Ordenar datos
Para ordenar datos seleccionados puede usarse la expresión ORDER BY:
campo2, …
SELECT campo1,
FROM nombre_de_la_tabla
ORDER BY campo3, ...
;
Donde:
Por ejemplo, para seleccionar el Nombre y la Ciudad de los registros de la tabla “Alumnos” y
ordenarlos por nombre:
Resultado:
Number of Records: 6
Nombre Ciudad
Carlos CABA
Carlos Rosario
Gerardo Córdoba
Luis Córdoba
Maitén Rosario
Paula CABA
6
SELECT campo1, campo2...
FROM tabla1 JOIN tabla2 ON tabla1.campo3 = tabla2.campo3
;
Donde:
Como ejemplo, juntaremos la tabla Alumnos que creamos antes con la siguiente tabla
Carreras que tiene las carreras que cursan los alumnos:
Resultado:
Resultado:
SELECT *
FROM Alumnos JOIN Carreras ON Alumnos.DNI = Carreras.DNI
;
7
Resultado:
A la sentencia SELECT se le puede agregar los filtros WHERE y las FUNCIONES vistas
anteriormente.
Agrupar datos
En SQL es posible agrupar los datos de una o más tablas, seleccionando los campos por lo
que voy a agrupar y aplicando una función a cada grupo.
Donde
Por ejemplo, para agrupar a los alumnos por ciudad y saber el mínimo, máximo y promedio
de edad y la cantidad de alumnos para cada ciudad podemos hacer:
8
SELECT Ciudad, MIN(Edad), Max(Edad), AVG(Edad), count(*)
FROM Alumnos
GROUP BY Ciudad;
Resultado:
CABA 23 45 30.333333333333332 3
Córdoba 38 64 51 2
Rosario 22 43 32.5 2
Ahora, si quiero hacer la misma agrupación anterior pero detallada por Ciudad y Carrera,
debemos hacer la junta que vimos antes:
Resultado:
CABA Actuario 45 45 45 1
CABA Administrador 23 23 23 2
CABA Contador 23 23 23 2
Córdoba Contador 38 64 51 2
Rosario Administrador 43 43 43 1
Rosario Contador 22 22 22 1
Rosario Sistemas 43 43 43 1
9
Donde:
Por ejemplo, si queremos borrar todos registros de la tabla “Alumnos” cuya ciudad sea
Córdoba:
DROP TABLE nombre_de_la_tabla;
Nota: Cuidado porque al eliminar una tabla también se pierde la información almacenada en
ella.
SQL Try It requiere que usen un navegador moderno como Chrome, Firefox o similar.
La herramienta cuenta con dos paneles. En el panel superior “SQL Statement” es donde se
escriben las consultas SQL y luego se presiona el botón “Run SQL”. En el panel inferior
“Result” podrán ver los resultados de la ejecución de la consulta.
10
La herramienta ya trae una serie de tablas creadas que pueden ser usadas para practicar
consultas.
Las tablas creadas van a ser mostradas en la parte derecha de la pantalla, junto con la
cantidad de registros que tiene cada una.
Si se presiona el botón “Restore Database” se borran todas las tablas creadas y se vuelven
a crear las tablas originales, perdiendo así los datos cargados en la base de datos. Pasa lo
mismo si se recarga la página o se sale del navegador y se vuelve a entrar.
11