0% encontró este documento útil (0 votos)
31 vistas

SQL Parte 1

Este documento introduce el lenguaje de consultas estructurado SQL. SQL es el lenguaje estándar más utilizado para bases de datos relacionales. El documento explica las sentencias DDL, DML y DQL de SQL y conceptos clave como tablas, filas, columnas y tipos de datos. También cubre operadores de comparación, condiciones de búsqueda simples y compuestas, y cláusulas como SELECT, FROM, WHERE, ORDER BY y GROUP BY.

Cargado por

vargas666
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas

SQL Parte 1

Este documento introduce el lenguaje de consultas estructurado SQL. SQL es el lenguaje estándar más utilizado para bases de datos relacionales. El documento explica las sentencias DDL, DML y DQL de SQL y conceptos clave como tablas, filas, columnas y tipos de datos. También cubre operadores de comparación, condiciones de búsqueda simples y compuestas, y cláusulas como SELECT, FROM, WHERE, ORDER BY y GROUP BY.

Cargado por

vargas666
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 42

Lenguaje de Consulta

Estructurado SQL
Parte 1
Structured Query Language (Lenguaje de
Consulta Estructurado)
Es el lenguaje más usado para bases de datos
relacionales.
SQL –
Lenguaje declarativo de alto nivel.
Introducción
Desarrollado por IBM (1974-1977).
Se convirtió en un standard definido por :
ANSI (American National Standards Institute) e
ISO (International Standards Organization)

C. Román 2
Las Sentencias del SQL se dividen en:
Sentencias DDL (Data Definition Language):
Permiten crear/modificar/borrar estructuras de
datos.
Sentencias DML (Data Manipulation
SQL - Languaje): para manipular datos
Introducción También provee sentencias para:
Definir permisos (control de acceso de usuarios)
Manejo de transacciones
Otros

C. Román 3
Términos a utilizar
tabla → relación
SQL -
Introducción fila → tupla
columna → atributo

C. Román 4
Integer: Números enteros.
Float: Números reales, en coma flotante.
Char: Cadenas de texto de longitud fija.
Varchar: Cadena de texto de longitud variable.
Tipos de datos Date: fecha que contiene el año (de cuatro
SQL ANSI/ISO cifras), el mes y el día.
Time: La hora del día en horas, minutos y
segundos (el valor predeterminado es 0).
Datetime: Combinación de Date y Time.

C. Román 5
Sentencias DML

C. Román 6
Recupera datos (filas, columnas) de la base de
datos y los devuelve en forma de resultados de
la consulta, su sintaxis es:
SELECT [ALL/DISTINCT] lista_select
FROM tabla [alias tabla] [,...]
SELECT [WHERE condicion]
[GROUP BY lista_columna]
[HAVING condicion]
[ORDER BY nombre_columna [ASC/DESC] [,...]

C. Román 7
La cláusula SELECT lista los datos a recuperar.
La cláusula FROM lista las tablas que contienen
los datos a recuperar.
Ejemplo:
SELECT
FROM -- Lista los códigos y nombres de la tabla
empleado
SELECT empCod, empNombre
FROM empleado

C. Román 8
Para calcular columnas se definen expresiones
aritméticas, que incluyan: sumas, restas,
multiplicaciones, divisiones, paréntesis.
Columnas Ejemplo:
calculadas --Calcula horas trabajadas * pago por hora
SELECT empApPat, empHorasTrabajo,
(empHorasTrabajo*empPagoHora)
FROM empleado

C. Román 9
•Se utiliza el * para acceder a todas
las columnas.
• Ejemplo:
SELECT *
-- Lista todos los datos de empleado
SELECT *
FROM empleado

C. Román 10
•DISTINCT se utiliza para eliminar filas
duplicadas de los resultados de la consulta.
• Ejemplo:

DISTINCT -- Lista las zonas de empleados, sin incluir zonas


repetidas
SELECT DISTINCT empZona
FROM empleado

C. Román 11
La cláusula WHERE indica que se consideren
solo las filas que cumplen con una condición de
búsqueda.
Ejemplo:
WHERE
-- Lista los datos de empleados de la Sucursal 1
SELECT *
FROM empleado
WHERE empSucursal=1

C. Román 12
Con la cláusula WHERE se utilizan operadores
de comparación que comparan los valores de
dos expresiones.
Los operadores son = , <, >, <= , >=, <>
(diferente)
WHERE También se usan AND (Y), OR (O), NOT (NO)
para condiciones de búsqueda compuestas.
Operadores de
Ejemplos:
comparación
-- Lista los datos de empleados con un
descuento mayor al 10% del sueldo
SELECT *
FROM empleado
WHERE empDescuento>(empSueldo* 0.10)

C. Román 13
Ejemplos:
-- Lista los datos de empleados contratados antes
del 10/1/2017
SELECT *
FROM empleado
WHERE WHERE empContrato< ‘10/1/2017’
Operadores de
comparación -- Lista los datos de empleados con el apellido Perez
y que tengan mas de 5 años de antiguedad
SELECT *
FROM empleado
WHERE empApPaterno=‘Perez’ AND
empAntiguedad>5

C. Román 14
Comprueba si un valor de datos se encuentra
entre dos valores especificados.
Ejemplo:
--Lista los datos de empleados con un sueldo
BETWEEN entre 4000 y 7000
SELECT *
FROM empleado
WHERE empSalario BETWEEN 4000 AND 7000

C. Román 15
Comprueba si un valor de datos se encuentra
entre los valores de un conjunto.
Ejemplo:
--Lista los datos de empleados de las sucursales
IN 1, 2 y 5
SELECT *
FROM empleado
WHERE empSucursal IN (1, 2, 5)

C. Román 16
Comprueba si una columna de texto se
corresponde con un cierto texto en particular.
Se utilizan los caracteres comodines:
% para la correspondencia con cualquier secuencia
de cero o más caracteres.
_ para la correspondencia con un carácter.
LIKE Ejemplo:
--Lista los datos de empleados cuyo apellido
comience con Pe
SELECT *
FROM empleado
WHERE empApPaterno LIKE ‘Pe%’

C. Román 17
La prueba de valor nulo IS NULL verifica que se
tenga el valor nulo (NULL).
La prueba IS NOT NULL verifica que no se
tenga el valor nulo.
IS NULL Ejemplo:
IS NOT NULL --Lista los datos de empleados que no tienen
teléfonos registrados
SELECT *
FROM empleado
WHERE empTelefono IS NULL

C. Román 18
Se pueden combinar condiciones de
búsqueda simple para formar otras más
complejas, utilizando OR, AND, NOT.
OR se utiliza para combinar condiciones de
Condiciones de búsqueda cuando por lo menos una deba ser
búsqueda verdadera.
compuestas AND se utiliza para combinar condiciones de
búsqueda cuando todas deban ser
verdaderas.
NOT se utiliza cuando la condición de
búsqueda deba ser falsa.

C. Román 19
Se utilizan paréntesis para agrupar los criterios
de búsqueda.
Condiciones de Ejemplo:
búsqueda SELECT *
compuestas FROM ventas
WHERE (nroOficina IN (100,102,105))
OR (nombreDirector IS NULL AND salario<8000)

C. Román 20
Ordena los resultados de una consulta por una
o varias columnas, para varias columnas la
primera es la clave de ordenación mayor, y las
siguientes serán de ordenación menor.
Por defecto la ordenación es ascendente, para
Cláusula ORDER la ordenación descendente se utiliza la cláusula
BY DESC.
Ejemplo
SELECT *
FROM ventas
ORDER BY departamento, ciudad DESC

C. Román 21
ALL Devuelve todos los campos de la tabla.
TOP Devuelve un determinado número de
registros de la tabla.
DISTINCT Omite los registros cuyos campos
seleccionados coincidan totalmente.
Consultas con DISTINCTROW Omite los registros
predicado duplicados en la totalidad del registro y no
sólo en los campos seleccionados.
Ejemplo
SELECT TOP 10 *
FROM ventas

C. Román 22
Permite asignar un nombre a alguna columna
determinada del resultado de una consulta.
Se utiliza la palabra reservada AS.
Alias Ejemplo
SELECT nomVen AS nombreVendedor
FROM ventas

C. Román 23
Se pueden realizar cálculos de datos mediante
las funciones de columna:
SUM() calcula la suma
Consultas AVG() calcula el promedio
sumarias MIN() calcula el mínimo
MAX() calcula el máximo
COUNT() cuenta el número de valores
COUNT(*) cuenta las filas de resultados

C. Román 24
Devuelve la suma del conjunto de valores
contenido en un campo específico de una
consulta. Su sintaxis es:
Función SUM SELECT SUM (EXPR) FROM TABLA
Ejemplo
SELECT SUM(importeVenta)
FROM ventas

C. Román 25
Calcula el promedio (media aritmética) de un
conjunto de valores contenido en un campo
especificado de una consulta. Su sintaxis es la
siguiente:
AVG SELECT AVG(EXPR) FROM TABLA
Ejemplo
SELECT AVG(importeVenta)
FROM ventas

C. Román 26
Devuelven el mínimo o el máximo de un
conjunto de valores CONTENIDO en un campo
especifico de una consulta. Su sintaxis es la
siguiente:
SELECT MIN(EXPR) FROM TABLA
MIN, MAX SELECT MAX(EXPR) FROM TABLA
Ejemplo
SELECT MAX(importeVenta),
MIN(importeVenta)
FROM ventas

C. Román 27
Calcula el número de registros devueltos por
una consulta. Su sintaxis es la siguiente:

SELECT COUNT(EXPR) FROM TABLA


COUNT Ejemplo
SELECT COUNT(importeVenta)
FROM ventas
WHERE importeVenta>10000

C. Román 28
Cuenta las filas resultantes de una consulta.
Ejemplo
COUNT(*) SELECT COUNT(*)
FROM ventas
WHERE importeVenta>10000

C. Román 29
Agrupa los registros con valores
idénticos, en la lista de campos
especificados, en un único registro.
Cláusula GROUP Su sintaxis es la siguiente:
BY SELECT campos
FROM tabla
WHERE criterio
GROUP BY campos del grupo

C. Román 30
Ejemplo
Cláusula GROUP SELECT nombreCliente, SUM(importeVenta)
BY FROM ventas
GROUP BY nombreCliente

C. Román 31
Una vez que los registros se han
agrupado utilizando GROUP BY,
HAVING determina cuáles de ellos se
van a mostrar. Su sintaxis es la
Cláusula siguiente:
HAVING SELECT campos
FROM tabla
WHERE criterio
GROUP BY campos del grupo
HAVING condición

C. Román 32
Ejemplo
SELECT nombreCliente, SUM(importeVenta)
Cláusula
FROM ventas
HAVING
GROUP BY nombreCliente
HAVING AVG(importeVenta)>10000

C. Román 33
 Combina los resultados de
dos o mas consultas en una
tabla de resultados, en la
que se tendrán las tuplas
resultantes de las consultas
(una o ambas).
 Para aplicar la unión ambas
UNION tablas deben contener el
mismo número de
columnas. Los tipos de
datos en las columnas
correspondientes deben
coincidir en ambas tablas.
Las tablas no pueden estar
ordenadas con ORDER BY,
pero si el resultado.

C. Román 34
Ejemplo.
SELECT idFabricante, idProducto
FROM productos
WHERE precio>2000
UNION
SELECT fabricante, producto
FROM pedidos
WHERE importe>3000
ORDER BY 1

C. Román 35
 Combina los resultados de
dos o mas consultas en una
tabla de resultados, en la
que se tendrán las tuplas
que coincidan en ambas
consultas.
 Para aplicar la intersección
INTERSECT ambas tablas deben
contener el mismo número
de columnas. Los tipos de
datos en las columnas
correspondientes deben
coincidir en ambas tablas.
Las tablas no pueden estar
ordenadas con ORDER BY,
pero si el resultado.

C. Román 36
 Combina los resultados de
dos o mas consultas en una
tabla de resultados, en la
que se tendrán las tuplas
resultantes de una consulta
que no aparezcan en la
otra consulta.
 Para aplicar except ambas
EXCEPT tablas deben contener el
mismo número de
columnas. Los tipos de
datos en las columnas
correspondientes deben
coincidir en ambas tablas.
Las tablas no pueden estar
ordenadas con ORDER BY,
pero si el resultado.

C. Román 37
Consultas en varias tablas
La cláusula INNER combina registros
de dos tablas siempre que haya
concordancia de valores en un
Reunión campo común. Su sintaxis es la
(combinación)
interna
siguiente:
INNER JOIN SELECT campos
FROM tabla1
INNER JOIN tabla2
ON tabla1.campo1 op_comp tabla2.campo2

C. Román 39
Se debe especificar una condición de reunión
para cada par de tablas.
Ejemplo
SELECT ventas.monto, ventas.ciudad, cliente.
Reunión interna nombre, vendedor. nombre
de varias tablas FROM ventas INNER JOIN cliente
ON ventas.idVendedor=cliente.idVendedor
INNER JOIN vendedor
ON cliente.idVendedor=vendedor.idVendedor
WHERE ventas.ciudad=‘La Paz’

C. Román 40
Operación de reunión que conecta todas las
relaciones de la tabla izquierda con los datos de
la tabla derecha.
Reunión externa Ejemplo.
izquierda SELECT codProd, codVend, nombreVend
LEFT JOIN FROM vendedor LEFT JOIN producto
ON vendedor.codVend=producto.codVend

C. Román 41
Operación de reunión que conecta todas las
relaciones de la tabla derecha con los datos de
la tabla izquierda.
Reunión externa Ejemplo.
derecha SELECT codProd, codVend, nombreVend
RIGHT JOIN FROM vendedor LEFT JOIN producto
ON vendedor.codVend=producto.codVend

C. Román 42

También podría gustarte