Consultas SQL

13
SQL CARRERA DE SISTEMAS CLIENTE-SERVIDOR TEMA: CONSULTA SQL. ESTUDIANTE: JONATHAN ISRAEL SALGUERO FLORES. DOCENTE: LUIS GUALLPA 29-01-2015 Puyo-Pastaza UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”

Transcript of Consultas SQL

Page 1: Consultas SQL

SQL

CARRERA DE SISTEMAS CLIENTE-SERVIDOR

TEMA: CONSULTA SQL.

ESTUDIANTE: JONATHAN ISRAEL SALGUERO FLORES.DOCENTE: LUIS GUALLPA

29-01-2015Puyo-Pastaza

UNIVERSIDAD REGIONAL AUTÓNOMA DE

LOS

ANDES “UNIANDES”

Page 2: Consultas SQL

Escribir sentencias SQL SELECT para consultas con operadores de restricción, proyección y enlace.

La estructura básica de una expresión en SQL consta de tres cláusulas:

SELECT, FROM y WHERE.

SELECT es usado para recuperar filas de una o más tablas. lista_columnas indica cuales columnas quiere recuperar.

SELECT [DISTINCT] lista_columnas FROM referencias_tablas[WHERE condicion_búsqueda] [GROUP BY group_list] [HAVING having_condition] [ORDER BY order_list] [LIMIT [offset,] rows ] [PROCEDURE procedure_name][UNION select_expr]

• En SQL las consultas de los siguientes ejemplos:

• "Encontrar todos los clientes que tienen una ferreteria: • SELECT DISTINCT nombre-cliente • FROM depósito • WHERE nombre-sucursal = " ferreteria" • "Encontrar todos los clientes que tiene un ": • SELECT DISTINCT nombre-cliente • FROM préstamo • WHERE nombre-sucursal = " Ambateño "

Page 3: Consultas SQL

• Ejemplo 1 : Seleccionar todos los nombres de las personas que tengan el apellido Lopez de la tabla personaSELECT nombreFROM personaWHERE apellido = " Lopez«

El resultado de una consulta es por supuesto otrarelación. Si se omite la cláusula WHERE, el predicado Pes verdadero.

La lista E1, E2,..., An puede sustituirse por unasterisco (*) para seleccionar todos los atributos detodas las relacionesque aparecen en la cláusula FROM, aunque no esconveniente elegir esta ultima opción salvo que seanecesariopues desperdiciamos mucho tiempo en obtenerlo Alias

Page 4: Consultas SQL

Es posible renombrar los atributos y las relaciones, a veces porconveniencia y otras veces por ser necesario,para esto usamos laclausula AS como en el siguiente ejemplo.

SELECT P.nombre AS [PRIMER NOMBRE]FROM persona PWHERE apellido = "Lopez"

La complejidad de una consulta puede aumentar cada vez más. Esto depende delos requerimientos que se haga y del uso de los comandos y cláusulas que senecesiten. Por ejemplo, puede haber subconsultas, que no son nada más que unaconsulta dentro de otra; es decir, un SELECT dentro de otro. Puede utilizar tresformas de sintaxis para crear una subconsulta:

comparación [ANY | ALL | SOME] (instrucción sql)expresión [NOT] IN (instrucción sql)[NOT] EXISTS (instrucción sql)

En donde:

comparación

Es una expresión y un operador de comparación que compara la expresión con elresultado de la subconsulta.expresiónEs una expresión por la que se busca el conjunto resultante de la subconsulta.

Page 5: Consultas SQL

Escribir sentencias SELECT para enlaces que incluyen tres o más tablas, auto enlaces y múltiples enlaces entre tablas.

• Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común.

Su sintaxis es la siguiente:

• SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2

En donde:

tb1, tb2: Son los nombres de las tablas desde las que se combinan los registros. campo1, campo2: Son los nombres de los campos que se combinan. Si no son numéricos, los campos deben ser del mismo tipo de datos y contener el mismo tipo de datos, pero no tienen que tener el mismo nombre.

• Comp: Es cualquier operador de comparación relacional: =, <, >, <=, >=, o <>.

Page 6: Consultas SQL

El ejemplo siguiente muestra cómo podría combinar las tablas Categorías y Productos basándose en el campo IDCategoria:

• SELECT Nombre_Categoría, NombreProducto

• FROM Categorias INNER JOIN Productos

• ON Categorias.IDCategoria = Productos.IDCategoria;

Page 7: Consultas SQL

Entender y ejemplificar el propósito de la cláusula GROUP BY usando el proceso de evaluación conceptual.

• Se pueden obtener subtotales con la cláusula GROUP BY. Una consulta con una cláusula GROUP BY se denomina consulta agrupada

Ejemplo:

SELECT SUM(empleado)FROM repempleados

Obtiene la suma de los empleados de todas las tablas

SELECT SUM(empleado)FROM repempleadosGROUP BY oficina

Se forma un grupo para cada oficina, con las filas de la oficina, y la suma se calcula sobre las filas de cada grupo. El ejemplo anterior obtiene una lista con la suma de los empleados de las empres de cada oficina.

Page 8: Consultas SQL

Escribir descripciones en español en sentencias documentadas de SQL.• Existen dos tipos de comandos SQL:

• • Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.

• • Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

• Entre los comandos DLL tenemos a los siguientes:

• CREATE: Utilizado para crear nuevas tablas, campos e índices.

• DROP: Empleado para eliminar tablas e índices.

• ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

• A continuación se presentan los comandos DML utilizados para el manejo de consultas:

• SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.

• INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.

• UPDATE: Utilizado para modificar los valores de los campos y registros especificados.

• DELETE: Utilizado para eliminar registros de una tabla de una base de datos.

Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

• Entre las cláusulas utilizadas para el manejo de consultas tenemos:

• FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros.

• WHERE: Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar.

• GROUP BY: Utilizada para separar los registros seleccionados en grupos específicos.

• HAVING: Utilizada para expresar la condición que debe satisfacer cada grupo.

• ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico.

Page 9: Consultas SQL

Escribir descripciones en español en sentencias documentadas de SQL.

SENTENCIA DESCRIPCIÓN

DMLManipulación de datos

SELECTINSERTDELETEUPDATE

Recupera datos de la base de datos.Añade nuevas filas de datos a la base de datos.

Suprime filas de datos de la base de datos.Modifica datos existentes en la base de datos.

DDL

Definición de datosCREATE TABLE

DROP TABLEALTER TABLECREATE VIEW

DROP VIEWCREATE INDEX

DROP INDEXCREATE SYNOYMDROP SYNONYM

Añade una nueva tabla a la base de datos.Suprime una tabla de la base de datos.

Modifica la estructura de una tabla existente.Añade una nueva vista a la base de datos.

Suprime una vista de la base de datos.Construye un índice para una columna.Suprime el índice para una columna.

Define un alias para un nombre de tabla.Suprime un alias para un nombre de tabla.

DCL Control de accesoGRANTREVOKE

Control de transaccionesCOMMIT

ROLLBACK

Concede privilegios de acceso a usuarios.Suprime privilegios de acceso a usuarios

Finaliza la transacción actual.Aborata la transacción actual.

PLSQL SQL ProgramáticoDECLARE

OPENFETCHCLOSE

Define un cursor para una consulta.Abre un cursor para recuperar resultados de consulta.

Recupera una fila de resultados de consulta.Cierra un cursor.

Page 10: Consultas SQL

Escribir las sentencias INSERT, UPDATE y DELETE para modificar las filas de una tabla.

• Lenguaje de control de datos (DCL).

DCL está compuesto por sentencias SQL para controlar las funciones de administración :

Confirmar la operacion (COMMIT)

Retroceder la operacion (ROLLBACK)

Dar permisos (GRANT)

Quitar permisos (REVOKE)

• Insertar nuevos registros en una tabla copiando los datos que ya están guardados en otras tablas utilizando como entrada el resultado de una consulta realizada con la sentencia SELECT. La sintaxis es la siguiente:

Page 11: Consultas SQL

1 INSERT INTO nombre_tabla (lista de campos separados por comas) sentencia SELECT

La sentencia SELECT debe tener y devolver el mismo númerode columnas y del mismo tipo que la lista de columnas delesquema de la tabla.1 INSERT INTO clientes_lugo SELECT * FROM clientes WHERE localidad = 'Lugo';

La sentencia UPDATE permite modificar los datos almacenados enlas tablas. La sintaxis de la sentencia UPDATE es esta

1 2 3

UPDATE nombre_tablaSET campo1 = valor1,campo2 = valor2,...

campoN = valorMWHERE condiciones

funcionamiento de la sentencia UPDATE con SELECT:

12

UPDATE EMPLEADOS SET SALARIO = SALARIO * 1.02PRECIO_HORA = PRECIO_HORA * 1.01WHERE SALARIO &lt; 3000

Page 12: Consultas SQL

la sentencia DELETE se pueden borrar registros de dos o más tablasa la vez, por ejemplo con la siguiente estructura:

1 DELETE clientes, pedidos FROM clientes JOIN pedidos WHERE clientes.id_cliente = pedidos. id_cliente AND clientes.id_cliente = 5;

Si las sentencias UPDATE y DELETE afectan a varias tablas no sepueden utilizar las clausulas ORDER BY y LIMIT.

Si no se utiliza la cláusula WHERE en las sentencias UPDATE yDELETE esto afectara a todas las filas.

Page 13: Consultas SQL

GRACIAS POR SU ATENCION