SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Base de Datos
UNIDAD 4: El lenguaje SQL
Clase 3: El lenguaje DML de SQL
Ing. Ricardo Tillero
Introducción SQL
ESTÁNDAR:
• El SQL, lenguaje de consulta estructurado, es el lenguaje de datos
estándar que utilizan las bases de datos relacionales.
EVOLUCIÓN:
• 1970: IBM, en su centro de investigación de San José (denominado
actualmente Almaden), desarrolló el Sequel (lenguaje de consulta).
Fue el prototipo de lo que hoy se conoce como SQL.
• 1986: Aparece una primera normalización ANSI, aunque no tiene
éxito.
• 1987: IBM saca al mercado el SAA-SQL.
• 1989: Aparece otra normalización ANSI, y esta vez tiene más éxito,
siendo Oracle el primero en utilizarlo.
• 1992: Sale al mercado el SQL-2; es lo que hoy día implementan todos
los sistemas gestores de bases de datos, y es, asimismo, lo mínimo
que se le puede pedir a un sistema de este tipo.
Introducción SQL
COMPONENTES: todo lenguaje de consulta tiene:
• Lenguaje de Definición de Datos (LDD - DDL): sirve para crear
todos los objetos y datos que se utilizan normalmente (tablas, vistas,
restricciones, etc.) así como las directivas de seguridad.
• Lenguaje de Manipulación de Datos (LMD - DML): está orientado
principalmente a las consultas; permite insertar datos, consultar
(mediante SELECT), borrar, actualizar, entre otras.
El lenguaje DML de SQL
El DML (Data Manipulation Language) o Lenguaje de Manipulación de
Datos es la parte de SQL dedicada a la manipulación de los datos. Las
sentencias DML son las siguientes:
SELECT: se utiliza para realizar consultas y extraer información de la
base de datos.
INSERT: se utiliza para insertar registros en las tablas de la base de
datos.
UPDATE: se utiliza para actualizar los registros de una tabla.
DELETE: se utiliza para eliminar registros de una tabla.
En esta clase nos vamos a centrar en el uso de la sentencia SELECT.
Consultas básicas sobre una tabla
Sintaxis de la instrucción SELECT:
Consultas básicas sobre una tabla
Sintaxis simplificada de la instrucción SELECT:
Cláusulas que forman la sentencia SELECT. El orden de ejecución
es el siguiente:
• Cláusula FROM.
• Cláusula WHERE (Es opcional, puede ser que no aparezca).
• Cláusula GROUP BY (Es opcional, puede ser que no aparezca).
• Cláusula HAVING (Es opcional, puede ser que no aparezca).
• Cláusula ORDER BY (Es opcional, puede ser que no aparezca).
• Cláusula LIMIT (Es opcional, puede ser que no aparezca).
Consultas básicas sobre una tabla
Resultado de una consulta SELECT:
Hay que tener en cuenta que el resultado de una consulta siempre será
una tabla de datos, que puede tener una o varias columnas y ninguna,
una o varias filas.
El hecho de que el resultado de una consulta sea una tabla es muy
interesante porque nos permite realizar cosas como almacenar los
resultados como una nueva en la base de datos. También será posible
combinar el resultado de dos o más consultas para crear una tabla mayor
con la unión de los dos resultados. Además, los resultados de una
consulta también pueden consultados por otras nuevas consultas.
Consultas básicas sobre una tabla
Creación y carga de la Base de Datos de ejemplo:
Consultas básicas sobre una tabla
SELECT:
Nos permite indicar cuáles serán las columnas que tendrá la tabla de
resultados de la consulta que estamos realizando. Las opciones que
podemos indicar son las siguientes:
El nombre de una columna de la tabla sobre la que estamos realizando
la consulta. Será una columna de la tabla que aparece en la cláusula
FROM.
Una constante que aparecerá en todas las filas de la tabla resultado.
Una expresión que nos permite calcular nuevos valores.
Consultas básicas sobre una tabla
SELECT básico:
SELECT * FROM alumno;
select * from alumno;
SELECT * FROM alumno;
El carácter * es un comodín que utilizamos para indicar que queremos seleccionar
todas las columnas de la tabla. La consulta anterior devolverá todos los datos de la
tabla.
Las palabras reservadas de SQL no son case sensitive, por lo tanto con las tres
sentencias se obteniene el mismo resultado:
Otra consideración que también debemos tener en cuenta es que una consulta
SQL se puede escribir en una o varias líneas.
SELECT *
FROM alumno;
Consultas básicas sobre una tabla
Resultado del SELECT * FROM alumno;
Consultas básicas sobre una tabla
Cláusula FROM:
FROM se utiliza para especificar la tabla de la cual se van a consultar los
registros.
Ejemplo: Obtener el nombre de todos los alumnos.
SELECT nombre FROM alumno;
nombre
María
Juan
Pepe
Lucía
Paco
Irene
Cristina
Antonio
Manuel
Daniel
Consultas básicas sobre una tabla
Cláusula FROM:
Ejemplo: Obtener el nombre y los apellidos de todos los alumnos.
SELECT nombre, apellido1, apellido2 FROM alumno;
Consultas básicas sobre una tabla
Cómo realizar comentarios en sentencias SQL:
Para escribir comentarios en nuestras sentencias SQL podemos hacerlo de
diferentes formas.
-- Esto es un comentario
SELECT nombre, apellido1, apellido2 -- Esto es otro comentario
FROM alumno;
/* Esto es un comentario
de varias líneas */
SELECT nombre, apellido1, apellido2 /* Esto es otro comentario */
FROM alumno;
# Esto es un comentario
SELECT nombre, apellido1, apellido2 # Esto es otro comentario
FROM alumno;
Consultas básicas sobre una tabla
Cómo obtener columnas calculadas:
Es posible realizar cálculos aritméticos entre columnas para calcular nuevos valores. Por
ejemplo, supongamos que tenemos la siguiente tabla con información sobre ventas.
Y queremos calcular una nueva columna con el precio total de la venta, que sería equivalente a
multiplicar el valor de la column cantidad_comprada por precio_por_elemento. Para obtener
esta nueva columna podríamos realizar la siguiente consulta:
SELECT id, cantidad_comprada, precio_por_elemento, cantidad_comprada *
precio_por_elemento FROM ventas;
Y el resultado sería el siguiente:
Consultas básicas sobre una tabla
Cómo realizar alias de columnas con AS:
Con la palabra reservada AS podemos crear alias para las columnas. Esto puede ser útil
cuando estamos calculando nuevas columnas a partir de valores de las columnas actuales. En
el ejemplo anterior de la tabla que contiene información sobre las ventas, podríamos crear el
siguiente alias:
SELECT id, cantidad_comprada, precio_por_elemento, cantidad_comprada *
precio_por_elemento AS 'precio total'
FROM ventas;
Si el nuevo nombre que estamos creando para el alias contiene espacios en blanco es
necesario usar comillas simples.
Al crear este alias obtendremos el siguiente resultado:
Consultas básicas sobre una tabla
Cláusula WHERE:
La cláusula WHERE nos permite añadir filtros a nuestras consultas para seleccionar sólo
aquellas filas que cumplen una determinada condición. Estas condiciones se denominan
predicados y el resultado de estas condiciones puede ser verdadero, falso o desconocido.
Una condición tendrá un resultado desconocido cuando alguno de los valores utilizados tiene el
valor NULL.
Podemos diferenciar cinco tipos de condiciones que pueden aparecer en la cláusula WHERE:
• Condiciones para comparar valores o expresiones.
• Condiciones para comprobar si un valor está dentro de un rango de valores.
• Condiciones para comprobar si un valor está dentro de un conjunto de valores.
• Condiciones para comparar cadenas con patrones.
• Condiciones para comprobar si una columna tiene valores a NULL.
Los operandos usados en las condiciones pueden ser nombres de columnas, constantes o
expresiones. Los operadores que podemos usar en las condiciones pueden ser aritméticos, de
comparación, lógicos, etc.
Consultas básicas sobre una tabla
Cláusula WHERE - Operadores disponibles en MySQL:
Consultas básicas sobre una tabla
Cláusula WHERE:
Ejemplos:
Consultas básicas sobre una tabla
Cláusula WHERE:
Operador BETWEEN
Sintaxis:
expresión [NOT] BETWEEN cota_inferior AND cota_superior
Se utiliza para comprobar si un valor está dentro de un rango de valores.
Por ejemplo, si queremos obtener los pedidos que se han realizado
durante el mes de enero de 2018 podemos realizar la siguiente consulta:
SELECT *
FROM pedido
WHERE fecha_pedido BETWEEN '2018-01-01' AND '2018-01-31';
Consultas básicas sobre una tabla
Cláusula WHERE:
Operador LIKE
Sintaxis:
columna [NOT] LIKE patrón
Se utiliza para comparar si una cadena de caracteres coincide con un patrón. En el
patrón podemos utilizar cualquier carácter alfanumérico, pero hay dos caracteres
que tienen un significado especial, el símbolo del porcentaje (%) y el carácter de
subrayado (_).
%: Este carácter equivale a cualquier conjunto de caracteres.
_: Este carácter equivale a cualquier carácter.
Ejemplo:
Devuelva un listado de todos los alumnos que su primer apellido empiece por la
letra S.
SELECT * FROM alumno WHERE apellido1 LIKE 'S%';
Consultas básicas sobre una tabla
Cláusula WHERE - Operador LIKE
Ejemplos:
Devuelva un listado de todos los alumnos que su primer apellido termine por la letra z.
SELECT * FROM alumno WHERE apellido1 LIKE '%z';
Devuelva un listado de todos los alumnos que su nombre tenga el carácter a.
SELECT * FROM alumno WHERE nombre LIKE '%a%';
Devuelva un listado de todos los alumnos que tengan un nombre de cuatro caracteres.
SELECT * FROM alumno WHERE nombre LIKE '____';
Devuelve un listado de todos los productos cuyo nombre empieza con estas cuatro letras
‘A%BC’. En este caso, el patrón que queremos buscar contiene el carácter %, por lo tanto,
tenemos que usar un carácter de escape.
SELECT * FROM producto WHERE nombre LIKE 'A$%BC%' ESCAPE '$';
Por defecto, se utiliza el carácter ’' como carácter de escape. De modo que podríamos escribir
la consulta de la siguiente manera.
SELECT * FROM producto WHERE nombre LIKE 'A%BC%';
Consultas básicas sobre una tabla
Cláusula WHERE:
Operador REGEXP y expresiones regulares
El operador REGEXP nos permite realizar búsquedas mucho más potentes
haciendo uso de expresiones regulares. Puede consultar la documentación oficial
para conocer más detalles sobre cómo usar este operador.
Operadores IS e IS NOT
Estos operadores nos permiten comprobar si el valor de una determinada columna
es NULL o no lo es.
Ejemplo:
Obtener la lista de alumnos que tienen un valor NULL en la columna teléfono.
SELECT * FROM alumno WHERE teléfono IS NULL;
Ejemplo:
Obtener la lista de alumnos que no tienen un valor NULL en la columna teléfono.
SELECT * FROM alumno WHERE teléfono IS NOT NULL;
Consultas básicas sobre una tabla
Modificadores ALL, DISTINCT y DISTINCTROW
Los modificadores ALL y DISTINCT indican si se deben incluir o no filas
repetidas en el resultado de la consulta.
ALL indica que se deben incluir todas las filas, incluidas las repetidas. Es
la opción por defecto, por lo tanto no es necesario indicarla.
DISTINCT elimina las filas repetidas en el resultado de la consulta.
DISTINCTROW es un sinónimo de DISTINCT.
Consultas básicas sobre una tabla
Cláusula GROUP BY :
GROUP BY se utiliza para juntar filas de resultados que coincidan en el valor de
alguna columna seleccionada.
La cláusula GROUP BY se utiliza en la instrucción SELECT. Opcionalmente se usa
junto con funciones agregadas para producir informes resumidos de la base de
datos. Eso es lo que hace, resumiendo los datos de la base de datos.
Las consultas que contienen la cláusula GROUP BY se denominan consultas
agrupadas y solo devuelven una sola fila para cada elemento agrupado.
Consultas básicas sobre una tabla
Cláusula GROUP BY:
Sintaxis
Sentencias SELECT ... GROUP BY column_name1 [, column_name2, ...] [HAVING
condition];
Donde:
“Sentencias SELECT …” es la consulta estándar del comando SQL SELECT.
” GROUP BY column_name1 ” es la cláusula que realiza la agrupación basada en
column_name1.
“[, column_name2, …]” es opcional; representa otros nombres de columna cuando
la agrupación se realiza en más de una columna.
“[HAVING condición]” es opcional; se usa para restringir las filas afectadas por la
cláusula GROUP BY. Es similar a la cláusula WHERE.
Consultas básicas sobre una tabla
Cláusula GROUP BY:
Ejemplo:
Para una tabla de miembros que tiene 40 filas obtener los grupos de géneros.
SELECT genero FROM miembros GROUP BY genero;
Resultado
genero
Hembra
Masculino
Ejemplo:
Supongamos que queremos el número total de hombres y mujeres en nuestra base de datos.
SELECT genero, COUNT (membership_numero) FROM members GROUP BY genero;
Resultado
genero COUNT (membership_numero)
Hembra 3
Masculino 5
Consultas básicas sobre una tabla
Cláusula GROUP BY:
Ejemplo:
Supongamos que queremos obtener una lista de la categoría de la película y los años
correspondientes en los que fueron lanzados.
SELECT category_id, year_released FROM movies GROUP BY category_id, year_released;
Resultado
category_id year_released
NULO 2008
NULO 2010
NULO 2012
1 2011
2 2008
6 2007
7 1920
8 1920
8 2005
8 2007
Consultas básicas sobre una tabla
Cláusula GROUP BY:
Ejemplo: Dada la siguiente tabla ‘pedidos’
id pedido cliente precio
1 p1 RUIZ 100
2 p2 PEREZ 300
3 p3 GOMEZ 250
4 p4 RUIZ 490
5 p5 GOMEZ 60
SELECT cliente, SUM(precio) FROM pedidos GROUP BY cliente;
El resultado será el siguiente:
cliente SUM(precio)
RUIZ 590
PEREZ 300
GOMEZ 310
El cliente ‘RUIZ’ se repite 2 veces, se suman sus valores para la columna ‘precio’ 490 + 100 = 590
El cliente ‘PEREZ’ se queda igual, con el valor para ‘precio’ de 300.
El cliente ‘GOMEZ’ se repite 2 veces, y se suman sus valores para la columna ‘precio’ 250 + 60 = 310
Consultas básicas sobre una tabla
Cláusula HAVING:
HAVING se utiliza para incluir condiciones con alguna función SQL del
tipo SUM, MAX, ..
Como la cláusula WHERE no se puede utilizar con funciones SQL del tipo
SUM, MAX, entonces utilizamos en su lugar, HAVING.
Sintaxis HAVING
Ejemplo:
Supongamos que queremos obtener una lista de la categoría de la película y los años
correspondientes en los que fueron lanzados.
SELECT * FROM películas GROUP BY category_id, year_released HAVING category_id = ‘8’;
Resultado
Consultas básicas sobre una tabla
Cláusula HAVING:
Ejemplo:
Dada la siguiente tabla ‘pedidos’
id pedido cliente precio
1 p1 RUIZ 100
2 p2 PEREZ 300
3 p3 GOMEZ 250
4 p4 RUIZ 490
5 p5 GOMEZ 60
SELECT cliente, SUM(precio) FROM pedidos GROUP BY cliente HAVING SUM(precio) > 500;
El resultado será:
cliente SUM(precio)
RUIZ 590
Consultas básicas sobre una tabla
Cláusula ORDER BY:
ORDER BY permite ordenar las filas que se incluyen en el resultado de la
consulta.
La sintaxis de MySQL es la siguiente:
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
Esta cláusula nos permite ordenar el resultado de forma ascendente ASC
o descendente DESC, además de permitirnos ordenar por varias
columnas estableciendo diferentes niveles de ordenación.
Consultas básicas sobre una tabla
Cláusula ORDER BY:
Ejemplos:
Obtener el nombre y los apellidos de todos los alumnos, ordenados por
su primer apellido de forma ascendente.
SELECT apellido1, apellido2, nombre FROM alumno ORDER BY
apellido1;
Si no indicamos nada en la cláusula ORDER BY se ordenará por defecto
de forma ascendente.
La consulta anterior es equivalente a esta otra.
SELECT apellido1, apellido2, nombre FROM alumno ORDER BY
apellido1 ASC;
Consultas básicas sobre una tabla
Cláusula ORDER BY:
Ejemplo:
Obtener el nombre y los apellidos de todos los alumnos, ordenados por su primer apellido de
forma ascendente.
SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1 DESC;
Cómo ordenar utilizando múltiples columnas
Ejemplo:
En este ejemplo vamos obtener un listado de todos los alumnos ordenados por el primer
apellido, segundo apellido y nombre, de forma ascendente.
SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1, apellido2, nombre;
En lugar de indicar el nombre de las columnas en la cláusula ORDER BY podemos indicar
sobre la posición donde aparecen en la cláusula SELECT, de modo que la consulta anterior
sería equivalente a la siguiente:
SELECT apellido1, apellido2, nombre FROM alumno ORDER BY 1, 2, 3;
Consultas básicas sobre una tabla
Cláusula LIMIT:
LIMIT permite limitar el número de filas que se incluyen en el resultado de
la consulta.
La sintaxis de MySQL es la siguiente
[LIMIT {[offset,] row_COUNT | row_COUNT OFFSET offset}]
donde row_COUNT es el número de filas que queremos obtener y offset
el número de filas que nos saltamos antes de empezar a contar. Es decir,
la primera fila que se obtiene como resultado es la que está situada en la
posición offset + 1.
Consultas básicas sobre una tabla
Funciones con cadenas:
Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
Consultas básicas sobre una tabla
Funciones con cadenas:
Ejemplo1:
Obtener el nombre y los apellidos de todos los alumnos en una única columna.
SELECT CONCAT(nombre, apellido1, apellido2) AS nombre_completo FROM alumno;
Ejemplo1:
La función CONCAT de MySQL no añade ningún espacio entre las columnas, por eso los
valores de las tres columnas apareceran como una sola cadena sin espacios entre ellas. Para
resolver este problema podemos hacer uso de la función CONCAT_WS que nos permite definir
un carácter separador entre cada columna. En el siguiente ejemplo haremos uso de la función
CONCAT_WS y usaremos un espacio en blanco como separador.
SELECT CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre_completo FROM alumno;
Consultas básicas sobre una tabla
Funciones de fecha y hora:
Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
Consultas básicas sobre una tabla
Funciones matemáticas:
Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
Consultas básicas sobre una tabla
Funciones matemáticas:
Ejemplos:
ABS devuelve el valor absoluto de un número.
SELECT ABS(-25);
25
POW(x, y) devuelve el valor de x elevado a y.
SELECT POW(2, 10);
1024
SQRT devuelve la raíz cuadrada de un número.
SELECT SQRT(1024);
32
PI() devuelve el valor del número PI.
SELECT PI();
3.141593
ROUND redondea un valor numérico
SELECT ROUND(37.6234);
38
TRUNCATE Trunca un valor numérico.
SELECT TRUNCATE(37.6234, 0);
37
CEIL devuelve el entero inmediatamente
superior o igual al parámetro de entrada.
SELECT CEIL(4.3);
5
FLOOR devuelve el entero inmediatamente
inferior o igual al parámetro de entrada.
SELECT FLOOR(4.3);
4

Más contenido relacionado

La actualidad más candente

Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...José Ricardo Tillero Giménez
 
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez H
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez HGuía 02. Consultas MySQL sobre una tabla - José J Sánchez H
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez HJosé Ricardo Tillero Giménez
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosvargasaldanajohanna
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datosLuis Bando
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HJosé Ricardo Tillero Giménez
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datosNathaly Arias
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónM.c. Omar Jasso
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014Henry Cambal
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005shavila
 

La actualidad más candente (20)

Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
Guía 03. Consultas MySQL sobre varias tablas. Composición interna - José J Sá...
 
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez H
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez HGuía 02. Consultas MySQL sobre una tabla - José J Sánchez H
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez H
 
Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 

Similar a Clase 3 El lenguaje DML de SQL

Similar a Clase 3 El lenguaje DML de SQL (20)

Sql
SqlSql
Sql
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Seleccion de datos
Seleccion de datosSeleccion de datos
Seleccion de datos
 
MYSQL DDL DML.pdf
MYSQL DDL DML.pdfMYSQL DDL DML.pdf
MYSQL DDL DML.pdf
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Sql
SqlSql
Sql
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Seleccion de datos
Seleccion de datosSeleccion de datos
Seleccion de datos
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Sql comamdo
Sql comamdoSql comamdo
Sql comamdo
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Consultas de Acción y expresiones Access 2010
Consultas de Acción y expresiones Access 2010Consultas de Acción y expresiones Access 2010
Consultas de Acción y expresiones Access 2010
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
46301750 comandos-basicos-de-sql (1)
46301750 comandos-basicos-de-sql (1)46301750 comandos-basicos-de-sql (1)
46301750 comandos-basicos-de-sql (1)
 
consultas.pptx
consultas.pptxconsultas.pptx
consultas.pptx
 

Más de José Ricardo Tillero Giménez

Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPJosé Ricardo Tillero Giménez
 

Más de José Ricardo Tillero Giménez (20)

PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
 
Guía Ejercicios SQL
Guía Ejercicios SQLGuía Ejercicios SQL
Guía Ejercicios SQL
 
Guía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de DatosGuía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de Datos
 
Guía 1 Ejercicios MR
Guía 1 Ejercicios MRGuía 1 Ejercicios MR
Guía 1 Ejercicios MR
 
Guía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de DatosGuía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de Datos
 
Guía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER ExtendidoGuía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER Extendido
 
Guía 2 Ejercicios MER
Guía 2 Ejercicios MERGuía 2 Ejercicios MER
Guía 2 Ejercicios MER
 
Guía 1 Ejercicios MER
Guía 1 Ejercicios MERGuía 1 Ejercicios MER
Guía 1 Ejercicios MER
 
Plan de evaluación BD2021
Plan de evaluación BD2021Plan de evaluación BD2021
Plan de evaluación BD2021
 
Perfil Docente y Asesoría
Perfil Docente y AsesoríaPerfil Docente y Asesoría
Perfil Docente y Asesoría
 
Planificación BD2021
Planificación BD2021Planificación BD2021
Planificación BD2021
 
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBDUNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
 
NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301
 
NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102
 
NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101
 
Notas definitivas per base de datos
Notas definitivas per base de datosNotas definitivas per base de datos
Notas definitivas per base de datos
 
Clase 6 VLAN
Clase 6 VLANClase 6 VLAN
Clase 6 VLAN
 
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
 
Guía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteoGuía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteo
 
Manual Basico de jQuery
Manual Basico de jQueryManual Basico de jQuery
Manual Basico de jQuery
 

Último

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 

Último (20)

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 

Clase 3 El lenguaje DML de SQL

  • 1. Base de Datos UNIDAD 4: El lenguaje SQL Clase 3: El lenguaje DML de SQL Ing. Ricardo Tillero
  • 2. Introducción SQL ESTÁNDAR: • El SQL, lenguaje de consulta estructurado, es el lenguaje de datos estándar que utilizan las bases de datos relacionales. EVOLUCIÓN: • 1970: IBM, en su centro de investigación de San José (denominado actualmente Almaden), desarrolló el Sequel (lenguaje de consulta). Fue el prototipo de lo que hoy se conoce como SQL. • 1986: Aparece una primera normalización ANSI, aunque no tiene éxito. • 1987: IBM saca al mercado el SAA-SQL. • 1989: Aparece otra normalización ANSI, y esta vez tiene más éxito, siendo Oracle el primero en utilizarlo. • 1992: Sale al mercado el SQL-2; es lo que hoy día implementan todos los sistemas gestores de bases de datos, y es, asimismo, lo mínimo que se le puede pedir a un sistema de este tipo.
  • 3. Introducción SQL COMPONENTES: todo lenguaje de consulta tiene: • Lenguaje de Definición de Datos (LDD - DDL): sirve para crear todos los objetos y datos que se utilizan normalmente (tablas, vistas, restricciones, etc.) así como las directivas de seguridad. • Lenguaje de Manipulación de Datos (LMD - DML): está orientado principalmente a las consultas; permite insertar datos, consultar (mediante SELECT), borrar, actualizar, entre otras.
  • 4. El lenguaje DML de SQL El DML (Data Manipulation Language) o Lenguaje de Manipulación de Datos es la parte de SQL dedicada a la manipulación de los datos. Las sentencias DML son las siguientes: SELECT: se utiliza para realizar consultas y extraer información de la base de datos. INSERT: se utiliza para insertar registros en las tablas de la base de datos. UPDATE: se utiliza para actualizar los registros de una tabla. DELETE: se utiliza para eliminar registros de una tabla. En esta clase nos vamos a centrar en el uso de la sentencia SELECT.
  • 5. Consultas básicas sobre una tabla Sintaxis de la instrucción SELECT:
  • 6. Consultas básicas sobre una tabla Sintaxis simplificada de la instrucción SELECT: Cláusulas que forman la sentencia SELECT. El orden de ejecución es el siguiente: • Cláusula FROM. • Cláusula WHERE (Es opcional, puede ser que no aparezca). • Cláusula GROUP BY (Es opcional, puede ser que no aparezca). • Cláusula HAVING (Es opcional, puede ser que no aparezca). • Cláusula ORDER BY (Es opcional, puede ser que no aparezca). • Cláusula LIMIT (Es opcional, puede ser que no aparezca).
  • 7. Consultas básicas sobre una tabla Resultado de una consulta SELECT: Hay que tener en cuenta que el resultado de una consulta siempre será una tabla de datos, que puede tener una o varias columnas y ninguna, una o varias filas. El hecho de que el resultado de una consulta sea una tabla es muy interesante porque nos permite realizar cosas como almacenar los resultados como una nueva en la base de datos. También será posible combinar el resultado de dos o más consultas para crear una tabla mayor con la unión de los dos resultados. Además, los resultados de una consulta también pueden consultados por otras nuevas consultas.
  • 8. Consultas básicas sobre una tabla Creación y carga de la Base de Datos de ejemplo:
  • 9. Consultas básicas sobre una tabla SELECT: Nos permite indicar cuáles serán las columnas que tendrá la tabla de resultados de la consulta que estamos realizando. Las opciones que podemos indicar son las siguientes: El nombre de una columna de la tabla sobre la que estamos realizando la consulta. Será una columna de la tabla que aparece en la cláusula FROM. Una constante que aparecerá en todas las filas de la tabla resultado. Una expresión que nos permite calcular nuevos valores.
  • 10. Consultas básicas sobre una tabla SELECT básico: SELECT * FROM alumno; select * from alumno; SELECT * FROM alumno; El carácter * es un comodín que utilizamos para indicar que queremos seleccionar todas las columnas de la tabla. La consulta anterior devolverá todos los datos de la tabla. Las palabras reservadas de SQL no son case sensitive, por lo tanto con las tres sentencias se obteniene el mismo resultado: Otra consideración que también debemos tener en cuenta es que una consulta SQL se puede escribir en una o varias líneas. SELECT * FROM alumno;
  • 11. Consultas básicas sobre una tabla Resultado del SELECT * FROM alumno;
  • 12. Consultas básicas sobre una tabla Cláusula FROM: FROM se utiliza para especificar la tabla de la cual se van a consultar los registros. Ejemplo: Obtener el nombre de todos los alumnos. SELECT nombre FROM alumno; nombre María Juan Pepe Lucía Paco Irene Cristina Antonio Manuel Daniel
  • 13. Consultas básicas sobre una tabla Cláusula FROM: Ejemplo: Obtener el nombre y los apellidos de todos los alumnos. SELECT nombre, apellido1, apellido2 FROM alumno;
  • 14. Consultas básicas sobre una tabla Cómo realizar comentarios en sentencias SQL: Para escribir comentarios en nuestras sentencias SQL podemos hacerlo de diferentes formas. -- Esto es un comentario SELECT nombre, apellido1, apellido2 -- Esto es otro comentario FROM alumno; /* Esto es un comentario de varias líneas */ SELECT nombre, apellido1, apellido2 /* Esto es otro comentario */ FROM alumno; # Esto es un comentario SELECT nombre, apellido1, apellido2 # Esto es otro comentario FROM alumno;
  • 15. Consultas básicas sobre una tabla Cómo obtener columnas calculadas: Es posible realizar cálculos aritméticos entre columnas para calcular nuevos valores. Por ejemplo, supongamos que tenemos la siguiente tabla con información sobre ventas. Y queremos calcular una nueva columna con el precio total de la venta, que sería equivalente a multiplicar el valor de la column cantidad_comprada por precio_por_elemento. Para obtener esta nueva columna podríamos realizar la siguiente consulta: SELECT id, cantidad_comprada, precio_por_elemento, cantidad_comprada * precio_por_elemento FROM ventas; Y el resultado sería el siguiente:
  • 16. Consultas básicas sobre una tabla Cómo realizar alias de columnas con AS: Con la palabra reservada AS podemos crear alias para las columnas. Esto puede ser útil cuando estamos calculando nuevas columnas a partir de valores de las columnas actuales. En el ejemplo anterior de la tabla que contiene información sobre las ventas, podríamos crear el siguiente alias: SELECT id, cantidad_comprada, precio_por_elemento, cantidad_comprada * precio_por_elemento AS 'precio total' FROM ventas; Si el nuevo nombre que estamos creando para el alias contiene espacios en blanco es necesario usar comillas simples. Al crear este alias obtendremos el siguiente resultado:
  • 17. Consultas básicas sobre una tabla Cláusula WHERE: La cláusula WHERE nos permite añadir filtros a nuestras consultas para seleccionar sólo aquellas filas que cumplen una determinada condición. Estas condiciones se denominan predicados y el resultado de estas condiciones puede ser verdadero, falso o desconocido. Una condición tendrá un resultado desconocido cuando alguno de los valores utilizados tiene el valor NULL. Podemos diferenciar cinco tipos de condiciones que pueden aparecer en la cláusula WHERE: • Condiciones para comparar valores o expresiones. • Condiciones para comprobar si un valor está dentro de un rango de valores. • Condiciones para comprobar si un valor está dentro de un conjunto de valores. • Condiciones para comparar cadenas con patrones. • Condiciones para comprobar si una columna tiene valores a NULL. Los operandos usados en las condiciones pueden ser nombres de columnas, constantes o expresiones. Los operadores que podemos usar en las condiciones pueden ser aritméticos, de comparación, lógicos, etc.
  • 18. Consultas básicas sobre una tabla Cláusula WHERE - Operadores disponibles en MySQL:
  • 19. Consultas básicas sobre una tabla Cláusula WHERE: Ejemplos:
  • 20. Consultas básicas sobre una tabla Cláusula WHERE: Operador BETWEEN Sintaxis: expresión [NOT] BETWEEN cota_inferior AND cota_superior Se utiliza para comprobar si un valor está dentro de un rango de valores. Por ejemplo, si queremos obtener los pedidos que se han realizado durante el mes de enero de 2018 podemos realizar la siguiente consulta: SELECT * FROM pedido WHERE fecha_pedido BETWEEN '2018-01-01' AND '2018-01-31';
  • 21. Consultas básicas sobre una tabla Cláusula WHERE: Operador LIKE Sintaxis: columna [NOT] LIKE patrón Se utiliza para comparar si una cadena de caracteres coincide con un patrón. En el patrón podemos utilizar cualquier carácter alfanumérico, pero hay dos caracteres que tienen un significado especial, el símbolo del porcentaje (%) y el carácter de subrayado (_). %: Este carácter equivale a cualquier conjunto de caracteres. _: Este carácter equivale a cualquier carácter. Ejemplo: Devuelva un listado de todos los alumnos que su primer apellido empiece por la letra S. SELECT * FROM alumno WHERE apellido1 LIKE 'S%';
  • 22. Consultas básicas sobre una tabla Cláusula WHERE - Operador LIKE Ejemplos: Devuelva un listado de todos los alumnos que su primer apellido termine por la letra z. SELECT * FROM alumno WHERE apellido1 LIKE '%z'; Devuelva un listado de todos los alumnos que su nombre tenga el carácter a. SELECT * FROM alumno WHERE nombre LIKE '%a%'; Devuelva un listado de todos los alumnos que tengan un nombre de cuatro caracteres. SELECT * FROM alumno WHERE nombre LIKE '____'; Devuelve un listado de todos los productos cuyo nombre empieza con estas cuatro letras ‘A%BC’. En este caso, el patrón que queremos buscar contiene el carácter %, por lo tanto, tenemos que usar un carácter de escape. SELECT * FROM producto WHERE nombre LIKE 'A$%BC%' ESCAPE '$'; Por defecto, se utiliza el carácter ’' como carácter de escape. De modo que podríamos escribir la consulta de la siguiente manera. SELECT * FROM producto WHERE nombre LIKE 'A%BC%';
  • 23. Consultas básicas sobre una tabla Cláusula WHERE: Operador REGEXP y expresiones regulares El operador REGEXP nos permite realizar búsquedas mucho más potentes haciendo uso de expresiones regulares. Puede consultar la documentación oficial para conocer más detalles sobre cómo usar este operador. Operadores IS e IS NOT Estos operadores nos permiten comprobar si el valor de una determinada columna es NULL o no lo es. Ejemplo: Obtener la lista de alumnos que tienen un valor NULL en la columna teléfono. SELECT * FROM alumno WHERE teléfono IS NULL; Ejemplo: Obtener la lista de alumnos que no tienen un valor NULL en la columna teléfono. SELECT * FROM alumno WHERE teléfono IS NOT NULL;
  • 24. Consultas básicas sobre una tabla Modificadores ALL, DISTINCT y DISTINCTROW Los modificadores ALL y DISTINCT indican si se deben incluir o no filas repetidas en el resultado de la consulta. ALL indica que se deben incluir todas las filas, incluidas las repetidas. Es la opción por defecto, por lo tanto no es necesario indicarla. DISTINCT elimina las filas repetidas en el resultado de la consulta. DISTINCTROW es un sinónimo de DISTINCT.
  • 25. Consultas básicas sobre una tabla Cláusula GROUP BY : GROUP BY se utiliza para juntar filas de resultados que coincidan en el valor de alguna columna seleccionada. La cláusula GROUP BY se utiliza en la instrucción SELECT. Opcionalmente se usa junto con funciones agregadas para producir informes resumidos de la base de datos. Eso es lo que hace, resumiendo los datos de la base de datos. Las consultas que contienen la cláusula GROUP BY se denominan consultas agrupadas y solo devuelven una sola fila para cada elemento agrupado.
  • 26. Consultas básicas sobre una tabla Cláusula GROUP BY: Sintaxis Sentencias SELECT ... GROUP BY column_name1 [, column_name2, ...] [HAVING condition]; Donde: “Sentencias SELECT …” es la consulta estándar del comando SQL SELECT. ” GROUP BY column_name1 ” es la cláusula que realiza la agrupación basada en column_name1. “[, column_name2, …]” es opcional; representa otros nombres de columna cuando la agrupación se realiza en más de una columna. “[HAVING condición]” es opcional; se usa para restringir las filas afectadas por la cláusula GROUP BY. Es similar a la cláusula WHERE.
  • 27. Consultas básicas sobre una tabla Cláusula GROUP BY: Ejemplo: Para una tabla de miembros que tiene 40 filas obtener los grupos de géneros. SELECT genero FROM miembros GROUP BY genero; Resultado genero Hembra Masculino Ejemplo: Supongamos que queremos el número total de hombres y mujeres en nuestra base de datos. SELECT genero, COUNT (membership_numero) FROM members GROUP BY genero; Resultado genero COUNT (membership_numero) Hembra 3 Masculino 5
  • 28. Consultas básicas sobre una tabla Cláusula GROUP BY: Ejemplo: Supongamos que queremos obtener una lista de la categoría de la película y los años correspondientes en los que fueron lanzados. SELECT category_id, year_released FROM movies GROUP BY category_id, year_released; Resultado category_id year_released NULO 2008 NULO 2010 NULO 2012 1 2011 2 2008 6 2007 7 1920 8 1920 8 2005 8 2007
  • 29. Consultas básicas sobre una tabla Cláusula GROUP BY: Ejemplo: Dada la siguiente tabla ‘pedidos’ id pedido cliente precio 1 p1 RUIZ 100 2 p2 PEREZ 300 3 p3 GOMEZ 250 4 p4 RUIZ 490 5 p5 GOMEZ 60 SELECT cliente, SUM(precio) FROM pedidos GROUP BY cliente; El resultado será el siguiente: cliente SUM(precio) RUIZ 590 PEREZ 300 GOMEZ 310 El cliente ‘RUIZ’ se repite 2 veces, se suman sus valores para la columna ‘precio’ 490 + 100 = 590 El cliente ‘PEREZ’ se queda igual, con el valor para ‘precio’ de 300. El cliente ‘GOMEZ’ se repite 2 veces, y se suman sus valores para la columna ‘precio’ 250 + 60 = 310
  • 30. Consultas básicas sobre una tabla Cláusula HAVING: HAVING se utiliza para incluir condiciones con alguna función SQL del tipo SUM, MAX, .. Como la cláusula WHERE no se puede utilizar con funciones SQL del tipo SUM, MAX, entonces utilizamos en su lugar, HAVING. Sintaxis HAVING Ejemplo: Supongamos que queremos obtener una lista de la categoría de la película y los años correspondientes en los que fueron lanzados. SELECT * FROM películas GROUP BY category_id, year_released HAVING category_id = ‘8’; Resultado
  • 31. Consultas básicas sobre una tabla Cláusula HAVING: Ejemplo: Dada la siguiente tabla ‘pedidos’ id pedido cliente precio 1 p1 RUIZ 100 2 p2 PEREZ 300 3 p3 GOMEZ 250 4 p4 RUIZ 490 5 p5 GOMEZ 60 SELECT cliente, SUM(precio) FROM pedidos GROUP BY cliente HAVING SUM(precio) > 500; El resultado será: cliente SUM(precio) RUIZ 590
  • 32. Consultas básicas sobre una tabla Cláusula ORDER BY: ORDER BY permite ordenar las filas que se incluyen en el resultado de la consulta. La sintaxis de MySQL es la siguiente: [ORDER BY {col_name | expr | position} [ASC | DESC], ...] Esta cláusula nos permite ordenar el resultado de forma ascendente ASC o descendente DESC, además de permitirnos ordenar por varias columnas estableciendo diferentes niveles de ordenación.
  • 33. Consultas básicas sobre una tabla Cláusula ORDER BY: Ejemplos: Obtener el nombre y los apellidos de todos los alumnos, ordenados por su primer apellido de forma ascendente. SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1; Si no indicamos nada en la cláusula ORDER BY se ordenará por defecto de forma ascendente. La consulta anterior es equivalente a esta otra. SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1 ASC;
  • 34. Consultas básicas sobre una tabla Cláusula ORDER BY: Ejemplo: Obtener el nombre y los apellidos de todos los alumnos, ordenados por su primer apellido de forma ascendente. SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1 DESC; Cómo ordenar utilizando múltiples columnas Ejemplo: En este ejemplo vamos obtener un listado de todos los alumnos ordenados por el primer apellido, segundo apellido y nombre, de forma ascendente. SELECT apellido1, apellido2, nombre FROM alumno ORDER BY apellido1, apellido2, nombre; En lugar de indicar el nombre de las columnas en la cláusula ORDER BY podemos indicar sobre la posición donde aparecen en la cláusula SELECT, de modo que la consulta anterior sería equivalente a la siguiente: SELECT apellido1, apellido2, nombre FROM alumno ORDER BY 1, 2, 3;
  • 35. Consultas básicas sobre una tabla Cláusula LIMIT: LIMIT permite limitar el número de filas que se incluyen en el resultado de la consulta. La sintaxis de MySQL es la siguiente [LIMIT {[offset,] row_COUNT | row_COUNT OFFSET offset}] donde row_COUNT es el número de filas que queremos obtener y offset el número de filas que nos saltamos antes de empezar a contar. Es decir, la primera fila que se obtiene como resultado es la que está situada en la posición offset + 1.
  • 36. Consultas básicas sobre una tabla Funciones con cadenas: Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
  • 37. Consultas básicas sobre una tabla Funciones con cadenas: Ejemplo1: Obtener el nombre y los apellidos de todos los alumnos en una única columna. SELECT CONCAT(nombre, apellido1, apellido2) AS nombre_completo FROM alumno; Ejemplo1: La función CONCAT de MySQL no añade ningún espacio entre las columnas, por eso los valores de las tres columnas apareceran como una sola cadena sin espacios entre ellas. Para resolver este problema podemos hacer uso de la función CONCAT_WS que nos permite definir un carácter separador entre cada columna. En el siguiente ejemplo haremos uso de la función CONCAT_WS y usaremos un espacio en blanco como separador. SELECT CONCAT_WS(' ', nombre, apellido1, apellido2) AS nombre_completo FROM alumno;
  • 38. Consultas básicas sobre una tabla Funciones de fecha y hora: Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
  • 39. Consultas básicas sobre una tabla Funciones matemáticas: Las funciones se pueden utilizar en las cláusulas SELECT, WHERE y ORDER BY.
  • 40. Consultas básicas sobre una tabla Funciones matemáticas: Ejemplos: ABS devuelve el valor absoluto de un número. SELECT ABS(-25); 25 POW(x, y) devuelve el valor de x elevado a y. SELECT POW(2, 10); 1024 SQRT devuelve la raíz cuadrada de un número. SELECT SQRT(1024); 32 PI() devuelve el valor del número PI. SELECT PI(); 3.141593 ROUND redondea un valor numérico SELECT ROUND(37.6234); 38 TRUNCATE Trunca un valor numérico. SELECT TRUNCATE(37.6234, 0); 37 CEIL devuelve el entero inmediatamente superior o igual al parámetro de entrada. SELECT CEIL(4.3); 5 FLOOR devuelve el entero inmediatamente inferior o igual al parámetro de entrada. SELECT FLOOR(4.3); 4