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”
EscribirsentenciasSQLSELECTparaconsultascon
operadoresderestricción,proyecciónyenlace.
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 "
• Ejemplo 1 : Seleccionar todos los nombres de las
personas que tengan el apellido Lopez de la tabla persona
SELECT nombre
FROM persona
WHERE apellido = " Lopez«
El resultado de una consulta es por supuesto otra
relación. Si se omite la cláusula WHERE, el predicado P
es verdadero.
La lista E1, E2,..., An puede sustituirse por un
asterisco (*) para seleccionar todos los atributos de
todas las relaciones
que aparecen en la cláusula FROM, aunque no es
conveniente elegir esta ultima opción salvo que sea
necesario
pues desperdiciamos mucho tiempo en obtenerlo Alias
Es posible renombrar los atributos y las relaciones, a veces por
conveniencia y otras veces por ser necesario,para esto usamos la
clausula AS como en el siguiente ejemplo.
SELECT P.nombre AS [PRIMER NOMBRE]
FROM persona P
WHERE apellido = "Lopez"
La complejidad de una consulta puede aumentar cada vez más. Esto depende de
los requerimientos que se haga y del uso de los comandos y cláusulas que se
necesiten. Por ejemplo, puede haber subconsultas, que no son nada más que una
consulta dentro de otra; es decir, un SELECT dentro de otro. Puede utilizar tres
formas 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 el
resultado de la subconsulta.
expresión
Es una expresión por la que se busca el conjunto resultante de la subconsulta.
EscribirsentenciasSELECTparaenlacesqueincluyentresomástablas,autoenlacesy
múltiplesenlacesentretablas.
• 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 <>.
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;
EntenderyejemplificarelpropósitodelacláusulaGROUPBYusandoelprocesode
evaluaciónconceptual.
• 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 repempleados
GROUP 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.
EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL.
• 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.
EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL.
SENTENCIA DESCRIPCIÓN
DML
Manipulación de datos
SELECT
INSERT
DELETE
UPDATE
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 datos
CREATE TABLE
DROP TABLE
ALTER TABLE
CREATE VIEW
DROP VIEW
CREATE INDEX
DROP INDEX
CREATE SYNOYM
DROP 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 acceso
GRANT
REVOKE
Control de transacciones
COMMIT
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ático
DECLARE
OPEN
FETCH
CLOSE
Define un cursor para una consulta.
Abre un cursor para recuperar resultados de consulta.
Recupera una fila de resultados de consulta.
Cierra un cursor.
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:
1 INSERT INTO nombre_tabla (lista de campos separados por comas) sentencia
SELECT
La sentencia SELECT debe tener y devolver el mismo número
de columnas y del mismo tipo que la lista de columnas del
esquema de la tabla.1 INSERT INTO clientes_lugo SELECT * FROM clientes WHERE localidad = 'Lugo';
La sentencia UPDATE permite modificar los datos almacenados en
las tablas. La sintaxis de la sentencia UPDATE es esta
1
2
3
UPDATE nombre_tabla
SET campo1 = valor1,
campo2 = valor2,
...
campoN = valorM
WHERE condiciones
funcionamiento de la sentencia UPDATE con SELECT:
1
2
UPDATE EMPLEADOS
SET SALARIO = SALARIO * 1.02
PRECIO_HORA = PRECIO_HORA * 1.01
WHERE SALARIO &lt; 3000
la sentencia DELETE se pueden borrar registros de dos o más tablas
a 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 se
pueden utilizar las clausulas ORDER BY y LIMIT.
Si no se utiliza la cláusula WHERE en las sentencias UPDATE y
DELETE esto afectara a todas las filas.
GRACIAS POR SU ATENCION

Consultas SQL

  • 1.
    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”
  • 2.
    EscribirsentenciasSQLSELECTparaconsultascon operadoresderestricción,proyecciónyenlace. La estructura básicade 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 "
  • 3.
    • Ejemplo 1: Seleccionar todos los nombres de las personas que tengan el apellido Lopez de la tabla persona SELECT nombre FROM persona WHERE apellido = " Lopez« El resultado de una consulta es por supuesto otra relación. Si se omite la cláusula WHERE, el predicado P es verdadero. La lista E1, E2,..., An puede sustituirse por un asterisco (*) para seleccionar todos los atributos de todas las relaciones que aparecen en la cláusula FROM, aunque no es conveniente elegir esta ultima opción salvo que sea necesario pues desperdiciamos mucho tiempo en obtenerlo Alias
  • 4.
    Es posible renombrarlos atributos y las relaciones, a veces por conveniencia y otras veces por ser necesario,para esto usamos la clausula AS como en el siguiente ejemplo. SELECT P.nombre AS [PRIMER NOMBRE] FROM persona P WHERE apellido = "Lopez" La complejidad de una consulta puede aumentar cada vez más. Esto depende de los requerimientos que se haga y del uso de los comandos y cláusulas que se necesiten. Por ejemplo, puede haber subconsultas, que no son nada más que una consulta dentro de otra; es decir, un SELECT dentro de otro. Puede utilizar tres formas 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 el resultado de la subconsulta. expresión Es una expresión por la que se busca el conjunto resultante de la subconsulta.
  • 5.
    EscribirsentenciasSELECTparaenlacesqueincluyentresomástablas,autoenlacesy múltiplesenlacesentretablas. • Las vinculacionesentre 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 <>.
  • 6.
    El ejemplo siguientemuestra 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;
  • 7.
    EntenderyejemplificarelpropósitodelacláusulaGROUPBYusandoelprocesode evaluaciónconceptual. • Se puedenobtener 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 repempleados GROUP 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.
  • 8.
    EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL. • Existen dostipos 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.
  • 9.
    EscribirdescripcionesenespañolensentenciasdocumentadasdeSQL. SENTENCIA DESCRIPCIÓN DML Manipulación dedatos SELECT INSERT DELETE UPDATE 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 datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP 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 acceso GRANT REVOKE Control de transacciones COMMIT 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ático DECLARE OPEN FETCH CLOSE Define un cursor para una consulta. Abre un cursor para recuperar resultados de consulta. Recupera una fila de resultados de consulta. Cierra un cursor.
  • 10.
    Escribir las sentenciasINSERT, 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:
  • 11.
    1 INSERT INTOnombre_tabla (lista de campos separados por comas) sentencia SELECT La sentencia SELECT debe tener y devolver el mismo número de columnas y del mismo tipo que la lista de columnas del esquema de la tabla.1 INSERT INTO clientes_lugo SELECT * FROM clientes WHERE localidad = 'Lugo'; La sentencia UPDATE permite modificar los datos almacenados en las tablas. La sintaxis de la sentencia UPDATE es esta 1 2 3 UPDATE nombre_tabla SET campo1 = valor1, campo2 = valor2, ... campoN = valorM WHERE condiciones funcionamiento de la sentencia UPDATE con SELECT: 1 2 UPDATE EMPLEADOS SET SALARIO = SALARIO * 1.02 PRECIO_HORA = PRECIO_HORA * 1.01 WHERE SALARIO &lt; 3000
  • 12.
    la sentencia DELETEse pueden borrar registros de dos o más tablas a 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 se pueden utilizar las clausulas ORDER BY y LIMIT. Si no se utiliza la cláusula WHERE en las sentencias UPDATE y DELETE esto afectara a todas las filas.
  • 13.