Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Slides:



Advertisements
Presentaciones similares
Consultas en Visual FoxPro
Advertisements

SQL CON EJEMPLOS SARI TEMA 4.
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
integridad referencial
Repaso DBD!!! (Es ahora o nunca)
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Fernando Velasco
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: SELECT Ing. Alfonso Vicente, PMP
Unidad IV Objetivo de la Unidad:
Teórico: Structured Query Language
SQL Server Integration Services SSIS
Lenguaje de consulta de Hibernate
IBD Clase 15.
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM.
MySQL M.C. Pedro Bello López.
SQL.
Lenguaje SQL (Structured Query Language)
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
Subconsultas Avanzadas
Integrantes: Peter velazques Andres heredia Juan Mendez
6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Visualización de Datos de Varias Tablas Utilizando Uniones.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
COMANDOS SQL.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
Autora: Francisca Montañez Muñoz
Consultas SQL (Base de Datos)
1 Módulo 4 Sentencias SQL. 2 Objetivos Generales Implementar una base de datos Definir los campos, registros, tablas que se encuentran relacionadas en.
LENGUAJE SQL.
Bases de Datos Sql.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Lenguaje Estructurado de Consulta
Diseño de base de datos Tema 6 : LMD.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Funciones de agrupamiento y JOIN de Tablas
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Bases de Datos SQL.
SQL STRUCTURED QUERY LANGUAGE
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Lenguaje Estructurado de Consultas
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión VI Trabajando con subconsultas.
DML Transact SQL Sesión V Consultando múltiples tablas.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Selección Condicionada de Filas Uso de la cláusula WHERE La cláusula WHERE restringe las columnas que retorna una consulta según la condición que se imponga.
CONSULTAS SQL POSTGRES.
Structure Query Languaje
SQL Lenguaje de Consulta Estructurado
Structure Query Languaje
Transcripción de la presentación:

Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de la BD. El más popular es SQL. El SQL Lenguaje de consulta estructurado (Structured Query Language ) es un lenguaje declarativo(son aquellos lenguajes de programación en los cuales se le indica a la computadora que es lo que se desea obtener o que es lo que se está buscando.) de acceso a bases de datos El uso común de los comandos SQL es la selección de datos desde tablas ubicadas en una base de datos. Note que la tabla es un contenedor que reside en la base de datos donde se almacena la información

Tablas de ejemplo Autos

Clientes

INSERT Sintaxis básica para insertar datos en una tabla: INSERT INTO nombre_tabla (campo1, campo2, ...) VALUES (valor1, 'cadena1', ...) Las cantidades de columnas y valores deben ser las mismas. Si una columna no se especifica, le será asignado el valor por omisión. Los valores especificados (o implícitos) por la sentencia INSERT deberán satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error. Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada, o sea no hace falta poner los nombres de las columnas.   Sólo podremos omitir un campo al efectuar una inserción cuando este acepte valores nulos. Pueden seleccionarse los nombres de columnas múltiples, y también los nombres de tablas múltiples. Si omitimos algún par " campo-valor " en la sentencia INSERT, pueden ocurrir varias cosas: Que se produzca un error , si el campo  no acepta valores nulos. Que se grabe el registro y se deje nulo el campo, cuando el campo acepte valores nulos. Que se grabe el registro y se tome el valor por defecto, cuando el campo tenga definido un valor por defecto.

Ejemplo: INSERT INTO autos (patente,marca,modelo,color,kilometraje) VALUES ('ABC123', 'RENAULT', 'MEGANE TR100', 'NEGRO DIAMANTE', 78000)

UPDATE Para modificar los datos de una tabla se usa UPDATE. Sintaxis: UPDATE nombre_tabla SET campo_1 = nuevo_valor WHERE condición También es posible UPDATE múltiples campos al mismo tiempo. Sintaxis: UPDATE nombre_tabla SET campo_1 = valor1, campo_ 2 = valor2 WHERE condición Si hay múltiples filas que satisfacen la condición, todas ellas se modificarán.

Ejemplo: UPDATE autos SET Marca=‘Ford’ WHERE Modelo=‘Focus’ Asigna la cadena “Ford” en el campo marca, a todos los registros que tengan “Focus” como valor en el campo Modelo.

DELETE Para borrar registros de una tabla se usa DELETE FROM.Sintaxis: DELETE FROM nombre_tabla WHERE condición Ejemplo: DELETE FROM Autos WHERE patente=‘ABC123’ Borra los registros de autos que tengan “ABC123” en el campo patente.

SELECT Para seleccionar registros de una tabla se usa la cláusula SELECT. Sintaxis: SELECT nombre_campo1, nombre_campo2 FROM nombre_tabla El símbolo * (asterisco) permite seleccionar todos los campos de una tabla.Sintaxis: SELECT * FROM nombre_tabla Pueden seleccionarse los nombres de columnas múltiples, y también los nombres de tablas múltiples. Si omitimos algún par " campo-valor " en la sentencia INSERT, pueden ocurrir varias cosas: Que se produzca un error , si el campo  no acepta valores nulos. Que se grave el registro y se deje nulo el campo, cuando el campo acepte valores nulos. Que se grave el registro y se tome el valor por defecto, cuando el campo tenga definido un valor por defecto.

SELECT marca FROM autos Resultado: Ejemplo: SELECT marca FROM autos Resultado: Muestra sólo el campo “marca” de todos los registros de autos El número de valores en los paréntesis pueden ser uno o más, con cada valor separado por comas. Los valores pueden ser números o caracteres. Si hay sólo un valor dentro del paréntesis, este comando es equivalente a WHERE "nombre_columna" = 'valor1'

Para seleccionar todos los registros distintos de una tabla se usa DISTINCT. Sintaxis: SELECT DISTINCT nombre_campo FROM nombre_tabla

Ejemplo: SELECT DISTINCT marca FROM Autos Resultado: Muestra sólo el campo “marca” de todos los registros de “autos”, omitiendo los valores repetidos.

Para seleccionar condicionalmente los datos de una tabla se usa la cláusula WHERE: Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE condición

Ejemplo: SELECT telefono FROM Clientes WHERE nombre=‘Juan’ Resultado: Muestra el teléfono de todos los clientes cuyo nombre sea Juan.

La condición del WHERE puede ser una condición compuesta La condición del WHERE puede ser una condición compuesta. Estas están formadas por múltiples condiciones simples conectadas por AND u OR. Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE condición simple AND/OR condición simple

SELECT patente FROM Autos WHERE modelo=‘Megane’ AND kilometraje>50 Ejemplo: SELECT patente FROM Autos WHERE modelo=‘Megane’ AND kilometraje>50 Resultado: Muestra la patente de los autos cuyo modelo sea MEGANE y su kilometraje sea mayor que 50. Esto seleccionará todas las filas cuya columna tenga un valor entre 'valor1' y 'valor2'.

La cláusula WHERE compara sus campos comúnmente con valores únicos, pero también es posible comparar con un "conjunto" de valores.  Esto es realizable a través del operador IN: Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo IN (valor1, valor2, ...)

Ejemplo: SELECT kilometraje FROM autos WHERE marca in (‘Ford’, ‘Renault’, ‘Fiat’) Resultado: Muestra el kilometraje de los autos cuya marca sea Ford o Renault o Fiat.

BETWEEN permite la selección de un rango de valores. Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo BETWEEN valor1 AND valor2 Esto seleccionará todas las filas cuya columna tenga un valor entre 'valor1' y 'valor2'.

Ejemplo: SELECT * FROM autos WHERE kilometraje BETWEEN 10000 AND 20000 Resultado: Muestra todos los campos de los autos cuyo kilometraje esté entre 10.000 y 20.000 km.

LIKE permite hacer una búsqueda basada en un patrón en vez de especificar exactamente lo que se desea (como en IN) o determinar un rango (como en BETWEEN). Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo LIKE patrón

Patrón generalmente consiste en comodines. 'A_Z': Todas las líneas que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' ‘F%':Todas las líneas que comienzan con 'F'. Por ejemplo, ‘Fiat' y ‘Ford' ‘%t‘: Todas las líneas que terminan con ‘t'. Por ejemplo, 'Renault', 'Fiat' y 'Peugeot' '%o%': Todas las líneas que contienen “o” en cualquier lado. Por ejemplo, 'Peugeot' y 'Ford'

SELECT * FROM autos WHERE modelo LIKE ‘GOL%’ Resultado: Ejemplo: SELECT * FROM autos WHERE modelo LIKE ‘GOL%’ Resultado: Muestra todos los campos de los autos cuyo modelo comience con GOL. ASC significa que los resultados se mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden descendente. Si no se especifica ninguno, la configuración predeterminada es ASC. Además del nombre de la columna, podríamos utilizar la posición de la columna (según la consulta SQL) para indicar en qué columna deseamos aplicar la cláusula ORDER BY. La primera columna es 1, y la segunda columna es 2, y así sucesivamente. En el ejemplo anterior, alcanzaremos los mismos resultados con el siguiente comando: SELECT store_name, Sales, Date FROM Store_Information ORDER BY 2 DESC

ORDER BY nombre_campo1 ASC/DESC, nombre_campo2 ASC/DESC Para enumerar el resultado en un orden particular (ascendente y descendente)se usa ORDER BY. Sintaxis: SELECT nombre_campo FROM nombre_tabla WHERE condición ORDER BY nombre_campo ASC/DESC Es posible ordenar por más de una columna. En este caso, la cláusula ORDER BY anterior se convierte en: ORDER BY nombre_campo1 ASC/DESC, nombre_campo2 ASC/DESC ASC significa que los resultados se mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden descendente. Si no se especifica ninguno, la configuración predeterminada es ASC. Además del nombre de la columna, podríamos utilizar la posición de la columna (según la consulta SQL) para indicar en qué columna deseamos aplicar la cláusula ORDER BY. La primera columna es 1, y la segunda columna es 2, y así sucesivamente. En el ejemplo anterior, alcanzaremos los mismos resultados con el siguiente comando: SELECT store_name, Sales, Date FROM Store_Information ORDER BY 2 DESC

SELECT * FROM autos WHERE marca=‘Ford’ ORDER BY modelo ASC, Ejemplo: SELECT * FROM autos WHERE marca=‘Ford’ ORDER BY modelo ASC, kilometraje DESC Resultado: Muestra todos los campos de los autos de marca Ford ordenados alfabéticamente por modelo, y luego por kilometraje en forma descendente. COUNT nos permite contar número de filas en una tabla determinada. COUNT y DISTINCT pueden utilizarse juntos en una instrucción para determinar el número de las distintas entradas en una tabla. Por ejemplo, si deseamos saber el número de los distintos negocios, ingresaríamos, SELECT COUNT(DISTINCT store_name) FROM Store_Information La palabra clave GROUP BY se utiliza cuando estamos seleccionado columnas múltiples desde una tabla (o tablas) y aparece al menos un operador aritmético en la instrucción SELECT. Cuando esto sucede, necesitamos GROUP BY todas las otras columnas seleccionadas, es decir, todas las columnas excepto aquella(s) que se operan por un operador aritmético.

Es posible hacer cálculos matemáticos, para esto se utilizan las funciones: AVG (promedio) COUNT (contar) MAX (máximo) MIN ( mínimo) - SUM (suma) La sintaxis para el uso de funciones es: SELECT tipo de función(nombre_campo) FROM nombre_tabla

SELECT AVG(kilometraje) FROM autos Resultado: Ejemplo: SELECT AVG(kilometraje) FROM autos Resultado: Muestra el promedio de los kilometrajes de todos los autos. COUNT nos permite contar número de filas en una tabla determinada. COUNT y DISTINCT pueden utilizarse juntos en una instrucción para determinar el número de las distintas entradas en una tabla. Por ejemplo, si deseamos saber el número de los distintos negocios, ingresaríamos, SELECT COUNT(DISTINCT store_name) FROM Store_Information La palabra clave GROUP BY se utiliza cuando estamos seleccionado columnas múltiples desde una tabla (o tablas) y aparece al menos un operador aritmético en la instrucción SELECT. Cuando esto sucede, necesitamos GROUP BY todas las otras columnas seleccionadas, es decir, todas las columnas excepto aquella(s) que se operan por un operador aritmético.

Para agrupar por un campo específico se utiliza GROUP BY. Sintaxis: SELECT nombre_campo1, SUM(nombre_campo2) FROM nombre_tabla GROUP BY nombre_campo1

Ejemplo: SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca Resultado: Muestra todas las marcas de autos con su promedio de kilometraje agrupado por marca.

Para limitar el resultado según alguna condición de función aritmética se usa HAVING. Sintaxis: SELECT nombre_campo1, SUM(nombre_campo2) FROM nombre_tabla GROUP BY nombre_campo1 HAVING (condición de función aritmética)

Ejemplo: SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca HAVING AVG(kilometraje) < 50000 Resultado: Muestra todas las marcas de autos con su promedio de kilometraje agrupado por marca, siempre y cuando el promedio de km sea menor a 50000

Hay dos tipos de alias que se utilizan con mayor frecuencia Hay dos tipos de alias que se utilizan con mayor frecuencia. Alias de columna y de tabla. Alias de columna: Para la organización del resultado. Existen casos donde el título de la columna puede complicarse (especialmente si incluye operaciones aritméticas). Alias de tabla: Se coloca un alias directamente luego del nombre de tabla en la cláusula FROM. Sintaxis: SELECT alias_tabla.nombre1_columna as alias_columna FROM nombre_tabla as alias_tabla Brevemente, ambos tipos de alias se colocan directamente después del elemento por el cual generan el alias, separados por “as”.

Ejemplo: SELECT COUNT(*) as Total de autos FROM autos Resultado: Muestra el total de autos. El nombre de la columna será “Total de Autos” en lugar de “COUNT(*)”.

Combinar sentencias Para insertar filas múltiples en una tabla se usa la siguiente sintaxis: INSERT INTO tabla1 (campo1, campo2, ...) SELECT campoA, campoB, ... FROM tabla2 A diferencia del ejemplo anterior, donde insertamos una única fila al especificar sus valores para todas las columnas, ahora utilizamos la instrucción SELECT para especificar los datos que deseamos insertar en la tabla. Para poder utilizar la inserción multiple de filas se deben cumplir las siguientes normas: La lista de campos de las sentencias insert y select deben coincidir en número y tipo de datos. Ninguna de las filas devueltas por la consulta debe infringir las reglas de integridad de la tabla en la que vayamos a realizar la inserción.

Ejemplo: INSERT INTO clientes SELECT * FROM proveedores Inserta todos los registros de proveedores en la tabla clientes (los campos de ambas tablas deben coincidir).

Trabajar con más de un tabla (JOIN) Hay tres tipos de combinaciones: Combinaciones internas (INNER JOIN), Combinaciones externas (OUTER JOIN) y Combinaciones cruzadas (CROSS JOIN).

INNER JOIN (Combinaciones internas) Sintaxis: SELECT campos FROM tabla1 JOIN tabla2 ON tabla1.campo1=tabla2.campo2

Ejemplo: SELECT * FROM clientes INNER JOIN autos ON clientes.patente=autos.patente Resultado: No muestra los clientes que no tienen auto, ni los autos que no tienen cliente.

OUTER JOIN (Combinaciones externas) Existen tres tipos de combinaciones externas: Left outer join (o left join). Right outer join (o right join). Full outer join (o full join).

LEFT JOIN Sintaxis: SELECT campos FROM tablaizquierda LEFT JOIN tabladerecha ON tablaizquierda.campo= tabladerecha.campo Muestra todos los registros de la tabla izquierda (la primera tabla listada después de la cláusula from), Muestra todos los registros de tabla izquierda y los resgitros de tabla derecha que tienen el mismo valor en el campo de tabla izquierda.

Ejemplo: SELECT * FROM autos LEFT JOIN clientes ON autos.patente =clientes.patente Resultado: Muestra todos los autos, incluso los que no tienen cliente

RIGHT JOIN Sintaxis: SELECT campos FROM tablaizquierda RIGHT JOIN tabladerecha ON tablaizquierda.campo= tabladerecha.campo

Ejemplo: SELECT * FROM autos RIGHT JOIN clientes ON autos.patente =clientes.patente Resultado: Muestra todos los clientes, incluso los que no tienen auto

FULL JOIN Sintaxis: SELECT campos FROM tablaizquierda FULL JOIN tabladerecha ON tablaizquierda.campo1 = tabladerecha.campo2 Nótese el uso de alias de tabla

Ejemplo: SELECT * FROM autos AS A FULL JOIN clientes AS C ON A.patente =C.patente Resultado: Muestra todos los clientes, incluso los que no tienen auto; y todos los autos, incluso los que no tienen cliente

CROSS JOIN (Producto cartesiano) Sintaxis: SELECT campos FROM tabla1 CROSS JOIN tabla2

Ejemplo: SELECT * FROM platos CROSS JOIN postres Muestra todas las combinaciones posibles (plato-postre).

Bibliografía http://sql.1keydata.com/es/sql-insert-into.php http://es.wikipedia.org/wiki/Celda_activa http://sql.manivesa.com/tutoriales+sql/lenguaje+sql/165.aspx Material de la materia gestión de datos