SlideShare una empresa de Scribd logo
Lenguaje deConsulta
EstructuradoSQL
Parte 1
SQL –
Introducción
Structured Query Language (Lenguaje de
Consulta Estructurado)
Es el lenguaje más usado para bases de datos
relacionales.
Lenguaje declarativo de alto nivel.
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
SQL -
Introducción
Las Sentencias del SQL se dividen en:
Sentencias DDL (Data Definition Language):
Permiten crear/modificar/borrar estructuras de
datos.
Sentencias DML (Data Manipulation
Languaje): para manipular datos
También provee sentencias para:
Definir permisos (control de acceso de usuarios)
Manejo de transacciones
Otros
C. Román 3
SQL -
Introducción
Términos a utilizar
tabla → relación
fila → tupla
columna → atributo
C. Román 4
Tipos de datos
SQLANSI/ISO
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.
Date: fecha que contiene el año (de cuatro
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 yTime.
C. Román 5
Sentencias DML
C. Román 6
SELECT
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] [,...]
[WHERE condicion]
[GROUP BY lista_columna]
[HAVING condicion]
[ORDER BY nombre_columna [ASC/DESC] [,...]
C. Román 7
SELECT
FROM
La cláusula SELECT lista los datos a recuperar.
La cláusula FROM lista las tablas que contienen
los datos a recuperar.
Ejemplo:
-- Lista los códigos y nombres de la tabla
empleado
SELECT empCod, empNombre
FROM empleado
C. Román 8
Columnas
calculadas
Para calcular columnas se definen expresiones
aritméticas, que incluyan: sumas, restas,
multiplicaciones, divisiones, paréntesis.
Ejemplo:
--Calcula horas trabajadas * pago por hora
SELECT empApPat, empHorasTrabajo,
(empHorasTrabajo*empPagoHora)
FROM empleado
C. Román 9
SELECT *
•Se utiliza el * para acceder a todas
las columnas.
• Ejemplo:
-- Lista todos los datos de empleado
SELECT *
FROM empleado
C. Román 10
DISTINCT
•DISTINCT se utiliza para eliminar filas
duplicadas de los resultados de la consulta.
• Ejemplo:
-- Lista las zonas de empleados, sin incluir zonas
repetidas
SELECT DISTINCT empZona
FROM empleado
C. Román 11
WHERE
La cláusula WHERE indica que se consideren
solo las filas que cumplen con una condición de
búsqueda.
Ejemplo:
-- Lista los datos de empleados de la Sucursal 1
SELECT *
FROM empleado
WHERE empSucursal=1
C. Román 12
WHERE
Operadores de
comparación
Con la cláusula WHERE se utilizan operadores
de comparación que comparan los valores de
dos expresiones.
Los operadores son = , <, >, <= , >=, <>
(diferente)
También se usan AND (Y), OR (O), NOT (NO)
para condiciones de búsqueda compuestas.
Ejemplos:
-- 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
WHERE
Operadores de
comparación
Ejemplos:
-- Lista los datos de empleados contratados antes
del 10/1/2017
SELECT *
FROM empleado
WHERE empContrato< ‘10/1/2017’
-- 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
BETWEEN
Comprueba si un valor de datos se encuentra
entre dos valores especificados.
Ejemplo:
--Lista los datos de empleados con un sueldo
entre 4000 y 7000
SELECT *
FROM empleado
WHERE empSalario BETWEEN 4000 AND 7000
C. Román 15
IN
Comprueba si un valor de datos se encuentra
entre los valores de un conjunto.
Ejemplo:
--Lista los datos de empleados de las sucursales
1, 2 y 5
SELECT *
FROM empleado
WHERE empSucursal IN (1, 2, 5)
C. Román 16
LIKE
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.
Ejemplo:
--Lista los datos de empleados cuyo apellido
comience con Pe
SELECT *
FROM empleado
WHERE empApPaterno LIKE ‘Pe%’
C. Román 17
IS NULL
IS NOT NULL
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.
Ejemplo:
--Lista los datos de empleados que no tienen
teléfonos registrados
SELECT *
FROM empleado
WHERE empTelefono IS NULL
C. Román 18
Condiciones de
búsqueda
compuestas
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
búsqueda cuando por lo menos una deba ser
verdadera.
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
Condiciones de
búsqueda
compuestas
Se utilizan paréntesis para agrupar los criterios
de búsqueda.
Ejemplo:
SELECT *
FROM ventas
WHERE (nroOficina IN (100,102,105))
OR (nombreDirector IS NULL AND salario<8000)
C. Román 20
CláusulaORDER
BY
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
la ordenación descendente se utiliza la cláusula
DESC.
Ejemplo
SELECT *
FROM ventas
ORDER BY departamento, ciudad DESC
C. Román 21
Consultas con
predicado
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.
DISTINCTROW Omite los registros
duplicados en la totalidad del registro y no
sólo en los campos seleccionados.
Ejemplo
SELECTTOP 10 *
FROM ventas
C. Román 22
Alias
Permite asignar un nombre a alguna columna
determinada del resultado de una consulta.
Se utiliza la palabra reservada AS.
Ejemplo
SELECT nomVen AS nombreVendedor
FROM ventas
C. Román 23
Consultas
sumarias
Se pueden realizar cálculos de datos mediante
las funciones de columna:
SUM() calcula la suma
AVG() calcula el promedio
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
Función SUM
Devuelve la suma del conjunto de valores
contenido en un campo específico de una
consulta. Su sintaxis es:
SELECT SUM (EXPR) FROMTABLA
Ejemplo
SELECT SUM(importeVenta)
FROM ventas
C. Román 25
AVG
Calcula el promedio (media aritmética) de un
conjunto de valores contenido en un campo
especificado de una consulta. Su sintaxis es la
siguiente:
SELECT AVG(EXPR) FROMTABLA
Ejemplo
SELECT AVG(importeVenta)
FROM ventas
C. Román 26
MIN, MAX
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) FROMTABLA
SELECT MAX(EXPR) FROMTABLA
Ejemplo
SELECT MAX(importeVenta),
MIN(importeVenta)
FROM ventas
C. Román 27
COUNT
Calcula el número de registros devueltos por
una consulta. Su sintaxis es la siguiente:
SELECT COUNT(EXPR) FROMTABLA
Ejemplo
SELECT COUNT(importeVenta)
FROM ventas
WHERE importeVenta>10000
C. Román 28
COUNT(*)
Cuenta las filas resultantes de una consulta.
Ejemplo
SELECT COUNT(*)
FROM ventas
WHERE importeVenta>10000
C. Román 29
CláusulaGROUP
BY
Agrupa los registros con valores
idénticos, en la lista de campos
especificados, en un único registro.
Su sintaxis es la siguiente:
SELECT campos
FROM tabla
WHERE criterio
GROUP BY campos del grupo
C. Román 30
CláusulaGROUP
BY
Ejemplo
SELECT nombreCliente, SUM(importeVenta)
FROM ventas
GROUP BY nombreCliente
C. Román 31
Cláusula
HAVING
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
siguiente:
SELECT campos
FROM tabla
WHERE criterio
GROUP BY campos del grupo
HAVING condición
C. Román 32
Cláusula
HAVING
Ejemplo
SELECT nombreCliente, SUM(importeVenta)
FROM ventas
GROUP BY nombreCliente
HAVING AVG(importeVenta)>10000
C. Román 33
UNION
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
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
INTERSECT
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
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
EXCEPT
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
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
Reunión
(combinación)
interna
INNER JOIN
La cláusula INNER combina registros
de dos tablas siempre que haya
concordancia de valores en un
campo común. Su sintaxis es la
siguiente:
SELECT campos
FROM tabla1
INNER JOIN tabla2
ON tabla1.campo1 op_comp tabla2.campo2
C. Román 39
Reunión interna
de varias tablas
Se debe especificar una condición de reunión
para cada par de tablas.
Ejemplo
SELECT ventas.monto, ventas.ciudad, cliente.
nombre, vendedor. nombre
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
Reunión externa
izquierda
LEFTJOIN
Operación de reunión que conecta todas las
relaciones de la tabla izquierda con los datos de
la tabla derecha.
Ejemplo.
SELECT codProd, codVend, nombreVend
FROM vendedor LEFT JOIN producto
ON vendedor.codVend=producto.codVend
C. Román 41
Reunión externa
derecha
RIGHT JOIN
Operación de reunión que conecta todas las
relaciones de la tabla derecha con los datos de
la tabla izquierda.
Ejemplo.
SELECT codProd, codVend, nombreVend
FROM vendedor LEFT JOIN producto
ON vendedor.codVend=producto.codVend
C. Román 42

Más contenido relacionado

PPTX
Sentencia select
PDF
Consultas basicas en sql server
PDF
Operaciones basicas de sql
PDF
Consultas básicas en sql server
PPT
Introducción a sql consultas y criterios de selección
PDF
Teoria sql
PDF
Consultas-SQL.pdf
PDF
Consultas sql
Sentencia select
Consultas basicas en sql server
Operaciones basicas de sql
Consultas básicas en sql server
Introducción a sql consultas y criterios de selección
Teoria sql
Consultas-SQL.pdf
Consultas sql

Similar a SQL Parte 1.pdf (20)

PPT
Objeto De Aprendizaje
DOCX
PDF
PPTX
Consultas sql
PDF
PDF
SQL-b.pdf
PDF
Resumen sql-oracle
PDF
Objeto De Aprendizaje
DOC
Manual sql
PPT
Tutorial - Introducción a MySQL (pt 1).ppt
PDF
Funciones bd excelaadas
DOCX
Tutorial SQL
PPTX
Seleccion de datos_sql_2005
PPTX
Precentacion de sql visual
PPT
Ti. Sql.Caso1al9.Consultas
DOC
Anon manual sql
DOCX
8 Guía_Fundamentos de Base de Datos (2).docx
PPTX
Seleccion de datos_sql_2005
PPT
Clase Nº 2 - Presentacion de SQL Server.ppt.ppt
Objeto De Aprendizaje
Consultas sql
SQL-b.pdf
Resumen sql-oracle
Objeto De Aprendizaje
Manual sql
Tutorial - Introducción a MySQL (pt 1).ppt
Funciones bd excelaadas
Tutorial SQL
Seleccion de datos_sql_2005
Precentacion de sql visual
Ti. Sql.Caso1al9.Consultas
Anon manual sql
8 Guía_Fundamentos de Base de Datos (2).docx
Seleccion de datos_sql_2005
Clase Nº 2 - Presentacion de SQL Server.ppt.ppt
Publicidad

Más de davidvargas666 (11)

PDF
prg2_t01_p01_Fundamentos POO - parte2.pdf
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
FSI-BD-T7-EjerciciosSQLResueltos.pdf
PDF
Tema 1 Parte 5.pdf
PDF
Tema 1 Parte 3.pdf
PDF
Tema 1 Parte 1.pdf
PDF
SQL Parte 1.pdf
PDF
Practica grafica metodos numericos
PDF
Estadistica ii practica 1 introduccion probabilidad (parte 1)
DOCX
Practica n2
PDF
Electrolisis soluciones
prg2_t01_p01_Fundamentos POO - parte2.pdf
prg2_t01_p01_Fundamentos POO - parte1.pdf
FSI-BD-T7-EjerciciosSQLResueltos.pdf
Tema 1 Parte 5.pdf
Tema 1 Parte 3.pdf
Tema 1 Parte 1.pdf
SQL Parte 1.pdf
Practica grafica metodos numericos
Estadistica ii practica 1 introduccion probabilidad (parte 1)
Practica n2
Electrolisis soluciones
Publicidad

Último (20)

PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
PPTX
Seminario de telecomunicaciones para ingeniería
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
Durabilidad del concreto en zonas costeras
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
DOCX
Cumplimiento normativo y realidad laboral
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
clase MICROCONTROLADORES ago-dic 2019.pptx
1132-2018 espectrofotometro uv visible.pdf
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
GEOLOGIA, principios , fundamentos y conceptos
S15 Protección de redes electricas 2025-1_removed.pdf
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
Seminario de telecomunicaciones para ingeniería
Electricidad-Estatica-Peligros-Prevencion.pdf
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Durabilidad del concreto en zonas costeras
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
Cumplimiento normativo y realidad laboral
Estrategias de apoyo de tecnología 2do periodo pdf
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf

SQL Parte 1.pdf

  • 2. SQL – Introducción Structured Query Language (Lenguaje de Consulta Estructurado) Es el lenguaje más usado para bases de datos relacionales. Lenguaje declarativo de alto nivel. 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
  • 3. SQL - Introducción Las Sentencias del SQL se dividen en: Sentencias DDL (Data Definition Language): Permiten crear/modificar/borrar estructuras de datos. Sentencias DML (Data Manipulation Languaje): para manipular datos También provee sentencias para: Definir permisos (control de acceso de usuarios) Manejo de transacciones Otros C. Román 3
  • 4. SQL - Introducción Términos a utilizar tabla → relación fila → tupla columna → atributo C. Román 4
  • 5. Tipos de datos SQLANSI/ISO 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. Date: fecha que contiene el año (de cuatro 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 yTime. C. Román 5
  • 7. SELECT 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] [,...] [WHERE condicion] [GROUP BY lista_columna] [HAVING condicion] [ORDER BY nombre_columna [ASC/DESC] [,...] C. Román 7
  • 8. SELECT FROM La cláusula SELECT lista los datos a recuperar. La cláusula FROM lista las tablas que contienen los datos a recuperar. Ejemplo: -- Lista los códigos y nombres de la tabla empleado SELECT empCod, empNombre FROM empleado C. Román 8
  • 9. Columnas calculadas Para calcular columnas se definen expresiones aritméticas, que incluyan: sumas, restas, multiplicaciones, divisiones, paréntesis. Ejemplo: --Calcula horas trabajadas * pago por hora SELECT empApPat, empHorasTrabajo, (empHorasTrabajo*empPagoHora) FROM empleado C. Román 9
  • 10. SELECT * •Se utiliza el * para acceder a todas las columnas. • Ejemplo: -- Lista todos los datos de empleado SELECT * FROM empleado C. Román 10
  • 11. DISTINCT •DISTINCT se utiliza para eliminar filas duplicadas de los resultados de la consulta. • Ejemplo: -- Lista las zonas de empleados, sin incluir zonas repetidas SELECT DISTINCT empZona FROM empleado C. Román 11
  • 12. WHERE La cláusula WHERE indica que se consideren solo las filas que cumplen con una condición de búsqueda. Ejemplo: -- Lista los datos de empleados de la Sucursal 1 SELECT * FROM empleado WHERE empSucursal=1 C. Román 12
  • 13. WHERE Operadores de comparación Con la cláusula WHERE se utilizan operadores de comparación que comparan los valores de dos expresiones. Los operadores son = , <, >, <= , >=, <> (diferente) También se usan AND (Y), OR (O), NOT (NO) para condiciones de búsqueda compuestas. Ejemplos: -- 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
  • 14. WHERE Operadores de comparación Ejemplos: -- Lista los datos de empleados contratados antes del 10/1/2017 SELECT * FROM empleado WHERE empContrato< ‘10/1/2017’ -- 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
  • 15. BETWEEN Comprueba si un valor de datos se encuentra entre dos valores especificados. Ejemplo: --Lista los datos de empleados con un sueldo entre 4000 y 7000 SELECT * FROM empleado WHERE empSalario BETWEEN 4000 AND 7000 C. Román 15
  • 16. IN Comprueba si un valor de datos se encuentra entre los valores de un conjunto. Ejemplo: --Lista los datos de empleados de las sucursales 1, 2 y 5 SELECT * FROM empleado WHERE empSucursal IN (1, 2, 5) C. Román 16
  • 17. LIKE 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. Ejemplo: --Lista los datos de empleados cuyo apellido comience con Pe SELECT * FROM empleado WHERE empApPaterno LIKE ‘Pe%’ C. Román 17
  • 18. IS NULL IS NOT NULL 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. Ejemplo: --Lista los datos de empleados que no tienen teléfonos registrados SELECT * FROM empleado WHERE empTelefono IS NULL C. Román 18
  • 19. Condiciones de búsqueda compuestas 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 búsqueda cuando por lo menos una deba ser verdadera. 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
  • 20. Condiciones de búsqueda compuestas Se utilizan paréntesis para agrupar los criterios de búsqueda. Ejemplo: SELECT * FROM ventas WHERE (nroOficina IN (100,102,105)) OR (nombreDirector IS NULL AND salario<8000) C. Román 20
  • 21. CláusulaORDER BY 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 la ordenación descendente se utiliza la cláusula DESC. Ejemplo SELECT * FROM ventas ORDER BY departamento, ciudad DESC C. Román 21
  • 22. Consultas con predicado 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. DISTINCTROW Omite los registros duplicados en la totalidad del registro y no sólo en los campos seleccionados. Ejemplo SELECTTOP 10 * FROM ventas C. Román 22
  • 23. Alias Permite asignar un nombre a alguna columna determinada del resultado de una consulta. Se utiliza la palabra reservada AS. Ejemplo SELECT nomVen AS nombreVendedor FROM ventas C. Román 23
  • 24. Consultas sumarias Se pueden realizar cálculos de datos mediante las funciones de columna: SUM() calcula la suma AVG() calcula el promedio 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
  • 25. Función SUM Devuelve la suma del conjunto de valores contenido en un campo específico de una consulta. Su sintaxis es: SELECT SUM (EXPR) FROMTABLA Ejemplo SELECT SUM(importeVenta) FROM ventas C. Román 25
  • 26. AVG Calcula el promedio (media aritmética) de un conjunto de valores contenido en un campo especificado de una consulta. Su sintaxis es la siguiente: SELECT AVG(EXPR) FROMTABLA Ejemplo SELECT AVG(importeVenta) FROM ventas C. Román 26
  • 27. MIN, MAX 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) FROMTABLA SELECT MAX(EXPR) FROMTABLA Ejemplo SELECT MAX(importeVenta), MIN(importeVenta) FROM ventas C. Román 27
  • 28. COUNT Calcula el número de registros devueltos por una consulta. Su sintaxis es la siguiente: SELECT COUNT(EXPR) FROMTABLA Ejemplo SELECT COUNT(importeVenta) FROM ventas WHERE importeVenta>10000 C. Román 28
  • 29. COUNT(*) Cuenta las filas resultantes de una consulta. Ejemplo SELECT COUNT(*) FROM ventas WHERE importeVenta>10000 C. Román 29
  • 30. CláusulaGROUP BY Agrupa los registros con valores idénticos, en la lista de campos especificados, en un único registro. Su sintaxis es la siguiente: SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo C. Román 30
  • 32. Cláusula HAVING 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 siguiente: SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo HAVING condición C. Román 32
  • 33. Cláusula HAVING Ejemplo SELECT nombreCliente, SUM(importeVenta) FROM ventas GROUP BY nombreCliente HAVING AVG(importeVenta)>10000 C. Román 33
  • 34. UNION 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 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
  • 35. 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
  • 36. INTERSECT 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 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
  • 37. EXCEPT 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 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
  • 39. Reunión (combinación) interna INNER JOIN La cláusula INNER combina registros de dos tablas siempre que haya concordancia de valores en un campo común. Su sintaxis es la siguiente: SELECT campos FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 op_comp tabla2.campo2 C. Román 39
  • 40. Reunión interna de varias tablas Se debe especificar una condición de reunión para cada par de tablas. Ejemplo SELECT ventas.monto, ventas.ciudad, cliente. nombre, vendedor. nombre 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
  • 41. Reunión externa izquierda LEFTJOIN Operación de reunión que conecta todas las relaciones de la tabla izquierda con los datos de la tabla derecha. Ejemplo. SELECT codProd, codVend, nombreVend FROM vendedor LEFT JOIN producto ON vendedor.codVend=producto.codVend C. Román 41
  • 42. Reunión externa derecha RIGHT JOIN Operación de reunión que conecta todas las relaciones de la tabla derecha con los datos de la tabla izquierda. Ejemplo. SELECT codProd, codVend, nombreVend FROM vendedor LEFT JOIN producto ON vendedor.codVend=producto.codVend C. Román 42