SlideShare uma empresa Scribd logo
1 de 75
Base d D
     B    de Datos:
     Lenguaje SQL
        guaj Q



Profesor:
MSC.
MSC Luis Serna Jherry
               Jherry.
Objetivos de Hoy
Introducción al SQL Basico
Sentencias DDL:
    CREATE TABLE
    ALTER TABLE
    DROP TABLE
Sentencia DML:
  SELECT
     Cláusulas SELECT, FROM, INTO, WHERE
     Cláusulas GROUP BY, HAVING
     Cláusula ORDER BY
       á
     Tipos de JOIN
     Subqueries
  Sentencias INSERT UPDATE y DELETE
             INSERT,
SENTENCIAS DDL
SENTENCIAS DDL


  CREATE TABLE
Las tablas se definen en tres pasos:
    Dar el nombre a la tabla
    Definir cada columna, posiblemente incluyendo
    restricciones de columna
    Definir las restricciones de la tabla
SENTENCIAS DDL


  CREATE TABLE
CREATE TABLE nombre-tabla
{campo1 (tipo ta a o / do
 ca po (t po tamaño dominio) [NOT NULL],
                          o) [ O U ],
 [campo2 (tipo tamaño / dominio) [NOT NULL]],
 [PRIMARY KEY (c1, c2, ..., cn)],
 [              (c , c , , c )
 [FOREIGN KEY (c1) REFERENCES tabla-x],
  [CHECK (P)]}
SENTENCIAS DDL


 CREATE TABLE
Nombre-tabla: Es el nombre de la tabla que se va a crear.
Campo i: son los nombres de los campos de la tabla.
   p                               p
Tipo: Es el tipo de datos del campo.
Tamaño:Es el tamaño del campo en caracteres
                           p
Dominio: es el nombre del dominio asignado al campo.
SENTENCIAS DDL


 CREATE TABLE
Primary Key: especifica las columnas que conforman la
clave primaria de la tabla.
Foreign key: indica las columnas que constituyen clave
externa en la tabla
References: indica la tabla que provee la clave foránea.
Check (P): especifica un predicado que debe satisfacer
cada fila de la tabla
SENTENCIAS DDL


Ejemplos: CREATE TABLE
CREATE TABLE Clientes
 (
 (id-cliente      char(5) not null,
                       ( )        ,
 nombre-cliente   char(20),
 ca e c e te
 calle-cliente    c a (30),
                  char(30),
 primary key      id-cliente)
SENTENCIAS DDL


 Ejemplos: CREATE TABLE
CREATE TABLE Cuenta
 (
 (id-cuenta      char(10) not null,
                      ( )         ,
 id-cliente      char(5),
 sa do
 saldo           integer
                   tege
         check   (saldo >= 0),
 primary key     id cuenta
                 id-cuenta
 foreign key     id-cliente references clientes)
SENTENCIAS DDL


 Uso de Constraints
Una restricción es similar a un índice, aunque también se
puede utilizar para establecer una relación con otra tabla.
Puede utilizar la cláusula CONSTRAINT en las instrucciones
ALTER TABLE y CREATE TABLE para crear o eliminar
restricciones.
restricciones
Hay dos tipos de cláusulas CONSTRAINT: una para crear
una restricciones en un único campo y otra para crear una
                                 p         p
restricción en más de un campo.
SENTENCIAS DDL


    Uso de Constraints
CONSTRAINT nombre
{
{PRIMARY KEY (p
              (principal1 [,principal2 [, ...]]) |
                     p    [,p     p          ]])
UNIQUE (único1 [,único2 [, ...]]) |
NOT NULL (negadonulo1 [,negadonulo2 [, ...]]) |
FOREIGN KEY (referencia1 [,referencia2 [, ...]])
  REFERENCES tabla_externa [(campo_externo1
  [,campo_externo2 [, ]])]}
  [ campo externo2 [ ...]])]}
SENTENCIAS DDL


 Uso de Constraints
Nombre: Es el nombre de la restricción que se va
a crear.
principal1, principal2: Son los nombres de los
campos que se van a designar como clave
principal.
p incipal
único1, único2: Son los nombres de los campos
que se van a designar como clave única
                                   única.
SENTENCIAS DDL


 Uso de Constraints
negadonulo1, negadonulo2: Son los nombres de
campos que se van a limitar a valores no Null.
    p q
referencia1, referencia2: Son los nombres de los
campos de la clave externa a los que se hace
referencia en otra tabla.
SENTENCIAS DDL


 Uso de Constraints
Tabla_externa: Es el nombre de la tabla externa que
contiene el campo o los campos especificados por
                 p           p    p            p
campo_externo.
Campo_externo1, campo_externo2: Son los nombres de
los
l campos en tabla_externa especificados por
                t bl    t         ifi d
referencia1, referencia2. Puede omitir esta cláusula si el
campo al que se hace referencia es la clave principal de
tabla_externa.
SENTENCIAS DDL


  ALTER TABLE
ALTER TABLE nombre-tabla
{
{ADD | MODIFY
[COLUMN campo tipo [(tamaño)] [NOT NULL]
  [CONSTRAINT nombre-constraint tipo-constraint]] |
[CONSTRAINT nombre-constraint tipo-constraint
  (campo,…)]}
SENTENCIAS DDL


ALTER TABLE
Tabla: Es el nombre de la tabla que se va a
modificar.
modificar
Campo: Es el nombre del campo que se va a
agregar o eliminar de tabla.
                       tabla
Tipo: Es el tipo de datos del campo.
Tamaño:Es el tamaño del campo en caracteres
SENTENCIAS DDL


Ejemplos: ALTER TABLE
Adicionar un campo:
  ALTER TABLE Empleados ADD COLUMN Salario
  number(15,2)


Quitar el campo Salario de la tabla
Empleados:
  ALTER TABLE Empleados DROP COLUMN
  Salario;
SENTENCIAS DDL


 Ejemplos: ALTER TABLE
Adicionar una clave foránea:
  ALTER TABLE Pedidos ADD CONSTRAINT
  PedidosEmpleados FOREIGN KEY (IdEmpleado)
  REFERENCES Empleados (IdEmpleado)
Quitar la clave externa existente de la tabla
Pedidos:
  ALTER TABLE Pedidos DROP CONSTRAINT
  PedidosEmpleados;
SENTENCIAS DDL


   DROP
DROP {TABLE tabla | INDEX índice ON tabla}

  tabla: Es el nombre de la tabla que se va a
  eliminar o la tabla de la cual se va a eliminar un
  índice.
  Índice: Es el nombre del índice que se va a
                                    q
  eliminar de tabla.
SENTENCIAS DDL


 Ejemplos: DROP
Ejemplo de como se elimina el índice Mi_Indice
de la tabla Empleados:
        DROP INDEX Mi_Indice ON Empleados;


Ejemplo de cómo se elimina una tabla:
               DROP TABLE Practicas;
                                   ;
SENTENCIAS DML
Introducción l
I t d ió al SQL - SQL DML

Sentencias de Manipulación de Datos

 SELECT              INSERT
 UPDATE              DELETE
Sentencia SELECT – Estructura
 Básica
SELECT ..... FROM .... WHERE
  SELECT corresponde a la operación Proyección (Π).
  Lista los atributos deseados en el resultado de la
  consulta.
  FROM corresponde a la operación Producto
  Cartesiano (X). Lista las relaciones que se deben
  analizar.
  WHERE corresponde al predicado S l ió ( ) y se
                      d l      di d Selección (σ),
  refiere a los atributos de las relaciones listadas en
  FROM.
Sentencia SELECT
      [SELECT ...]
         [INTO ...]
      [FROM ...]
      [WHERE ...]
      [GROUP BY …]
      [HAVING ...]
      [ORDER BY ...]]
         [UNION ...]
Cláusula SELECT

En la cláusula SELECT se especifican las
columnas que van a ser mostradas en
pantalla

SELECT [all | distinct]
{* |      tabla.* |     [
                        [tabla.]campo1 [
                               ]   p [encab1] ,
                                            ]
  [tabla.]campo2 [encab2] , ...}
Cláusula FROM
Específica la(s) fuente(s) de donde van a ser
tomadas las columnas mostradas y/o operadas en
                                  y/ p
la sentencia Select.

[SELECT…]
FROM expresión tabla [as] t_alias [, ...]
Cláusula INTO

La cláusula INTO, permite guardar los
resultados intermedios de una consulta

[SELECT ...] INTO tabla_into
           ]      tabla into
[FROM ...]
Cláusula WHERE
Donde se especifican las condiciones de
búsqueda y join para las filas que conforman el
conjunto resultado.
[SELECT ...]
[FROM ...]
WHERE condiciones_de_búsqueda

Tipos de condiciones
   Condiciones de comparación, de Join, o de Subquery.
Ejemplos de la Sentencia SELECT
SELECT     distinct emp_id, fecha_nac, direccion
FROM       EMPLEADO
WHERE      nombre = “Juan” AND apellido = “Perez”

 ∏fecha_nac, direccion (σnombre = “Juan” AND apellido = “Perez” (EMPLEADO))
Ejemplos de la Sentencia SELECT
‘Mostrar la relación de clientes que han obtenido un préstamo
en alguna sucursal de Miraflores’

    SELECT      DISTINCT nombre-cliente
    FROM        PRESTATARIO PRS, PRESTAMO PTR
    WHERE       PRS.idpréstamo = PRT.numpréstamo
                AND
                nombre-sucursal = “Miraflores”
                                   Miraflores
Condiciones de Búsqueda
Las condiciones de búsqueda pueden incluir:
  Operadores de Comparación (=, <>, < y >).
                              (= <>        >)
  Porciones de cadenas de caracteres (SUBSTR)
  Rangos (BETWEEN y NOT BETWEEN).
      g (                            )
  Listas (IN, NOT IN).
  Patrones de caracteres (LIKE y NOT LIKE).
  Valores desconocidos (IS NULL y IS NOT NULL).
  Combinaciones con conjunciones (AND, OR).
Condiciones de Búsqueda
Operadores de comparación:
  WHERE SueldoBásico > 1000
  WHERE SUBSTR(CodigoPostal, 1, 3)= “SAN”
Rangos (BETWEEN / NOT BETWEEN):
  WHERE SueldoBásico BETWEEN 1000 AND 5000
Listas (IN / NOT IN):
  WHERE Departamento NOT IN ('ADM', 'SIS')
Coincidencia de patrones o cadenas de caracteres (LIKE /
NOT LIKE))
  WHERE NombreCompleto LIKE “LET%”
Comodines (Wildcards) en la
  cláusula WHERE

Wildcard   Significado
             g
  *%       Cualquier cadena de cero o mas caracteres.
 ?, #, _   Cualquier carácter/ número único.
   [-]     Cualquier carácter único dentro de un rango.
   [!]     Cualquier carácter único que no está dentro de
           un rango.
Operadores y Wildcards en la
   cláusula WHERE
….WHERE Nombre

   LIKE “Ma%”    busca todos los nombres que comiencen con “Ma”
                 (Ej.: María, Mariana, Manuel, Martín)

   LIKE “%ía”    busca todos los nombres que terminen con “ía”.
                 (Ej.: Sofía, María, Estefanía).

   LIKE “%ar%”   busca todos los nombres que tengan las letras “ar”.
                 (Ej.:Carlos, Arturo Eleazar)
                 (Ej :Carlos Arturo, Eleazar).
Operadores y Wildcards en la
    cláusula WHERE
LIKE “_va”          busca todos los nombres de tres letras que
                    terminan en “va”. (Ej.: Eva, Iva, Ava).
                                        ( j       , ,    )
LIKE “[CM]arlo[ns]” busca todos los nombres:
                    Carlon, Marlon, Carlos y Marlos.
LIKE “[B D]elia”
       [B-D]elia    busca todos los nombres que terminan en
                    “elia” y que comiencen con las letras de la
                    B a la D. (Ej.: Delia, Celia).
LIKE “_ _ _”        busca todas las cadenas de exactamente 3
                    caracteres.
LIKE “_ _ _ %”      busca las cadenas de al menos 3 caracteres.
Operadores y Wildcards en la
      cláusula WHERE
CARACTERES DE ESCAPE:
Para que los patrones puedan contener los caracteres especiales
comodín, se especifica un caracter de escape.

 LIKE “%ab_cd” escape “” busca todas las cadenas que
      “% b d”             b     t d l       d
                      terminen con “ab_cd”.

 LIKE “ab_cd%” escape “” busca las cadenas que empiecen
                      con “ab_cd”.
Tablas Combinadas
Permite especificar la tabla resultante de una operación de
reunión natural en la cláusula FROM, en lugar de colocar las
                                      ,     g
condiciones de JOIN en el WHERE
 [SELECT]
 FROM     TABLA1 [INNER] JOIN TABLA2
          ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1
 [WHERE]
Tablas Combinadas
SELECT   DISTINCT nombre-cliente
FROM     PRESTATARIO PRS [INNER] JOIN PRESTAMO PTR
         On PRS.idpréstamo = PRT.numpréstamo
WHERE    nombre-sucursal = “Miraflores”
Cláusula GROUP BY

Especifica las columnas por las que las filas
van a estar agrupadas o particionadas Los
                         particionadas.
resultados del query contienen un valor o
conjunto de valores para cada conjunto de
     j              p              j
valores indicado por las
funciones_de_agregación nombradas en la
lista del Select
Cláusula GROUP BY
   á

SELECT {{columnas_de_agrupación,…},
  {función_de_agregación,…}}
  {f   ió d          ió   }}
FROM …
[WHERE …]
GROUP BY {columnas_de_agrupación,…}
           {columnas de agrupación }
Funciones de Agregación más
                g g
  usadas
SUM([ALL|DISTINCT]     Calcula el total de una expresión numérica
expresión)             para todas las filas o sólo las distintas.
AVG([ALL|DISTINCT]     Calcula el promedio de una expresión
expresión)             numérica para las filas involucradas.
    ([   |       ]
MIN([ALL|DISTINCT]     Calcula el mínimo valor de una expresión
                                                         p
expresión)             numérica para las filas involucradas
MAX([ALL|DISTINCT]     Calcula el máximo valor de una expresión
expresión)             numérica para las filas involucradas.
COUNT([ALL|DISTINCT]   Número de veces que se repite el valor de la
expresión)             expresión.
COUNT(*)               Número
                       Núme o de filas seleccionadas
Cláusula GROUP BY
     á
 ‘Mostrar la suma de sueldo básico de los empleados
               activos, por Departamento’

SELECT     Nombre_Depto, SUM(SueldoBasico)
FROM       EMPLEADO EM, DEPARTAMENTO DE
                    EM
WHERE      EM.IDDepartamento = DE.IDDepartamento
           AND
           EstadoEmpleado= 'ACT’
GROUP BY Nombre_Depto
Cláusula GROUP BY
    á

“Obtener el número de titulares de cuenta de cada
  sucursal
  sucursal”

SELECT     nombre_sucursal,
           nombre sucursal, COUNT ( DISTINCT
           nombre-cliente)
FROM       TITULAR-CUENTA TC, CUENTA CUE
WHERE      TC.numero-cuenta = CUE. numero-cuenta
GROUP BY   nombre-sucursal
Cláusula HAVING
  á

Especifica una restricción que aplica a las
funciones de agregación de los grupos Esto
                                 grupos.
afecta a las filas que son devueltas como
resultado y no al cálculo de las funciones de
agregación.
La cláusula WHERE si condiciona el número de
filas que intervienen en el cálculo de las
funciones de agregación.
Cláusula HAVING
  á

SELECT {{columnas_de_agrupación,…},
  {función_de_agregación,…}}
  {función de agregación }}
FROM …
[WHERE …]  ]
GROUP BY {columnas_de_agrupación,…}
HAVING condiciones de búsqueda
         condiciones_de_búsqueda
GROUP BY y HAVING
“Mostrar el sueldo promedio de los Departamentos con
                promedio superior a 1000”
SELECT      Nombre_Depto, AVG(SueldoBasico)
FROM        EMPLEADO EM, DEPARTAMENTO DE
WHERE       EM.IDDepartamento
            EM IDDepartamento =
                   DE.IDDepartamento AND
            EstadoEmpleado= 'ACT'
                    p
GROUP BY    Nombre_Depto
HAVING      AVG(SueldoBasico) > 1000
GROUP BY y HAVING
“Saldo promedio de cada cliente de Surco que tiene como mínimo
                            3 cuentas”
SELECT      TC. Nombre-cliente, AVG (saldo)
FROM        TITULAR-CUENTA TC, CUENTA CUE, CLIENTE CLI
WHERE       TC.numero-cuenta = CUE
            TC               t   CUE.numero-cuenta
                                                t
            AND
            TC.nombre-cliente = C
              C o b e c e te CLI.nombre-cliente AND
                                     o b e c e te
            ciudad-cliente = “Surco”
GROUP BY    TC.nombre-cliente
HAVING      COUNT (DISTINCT TC.numero-cuenta) >= 3
GROUP BY - HAVING - WHERE
Procedimiento:
 Si en una misma consulta aparece una cláusula WHERE y una
 cláusula HAVING, se aplica primero el predicado de la cláusula
 WHERE.
 Las tuplas que satisfagan la condición, se colocan en grupos
 según la cláusula GROUP BY.
 La cláusula HAVING se aplica luego a cada grupo. Los grupos
                                             grupo
 que no la satisfagan se eliminan.
 La cláusula SELECT utiliza los grupos restantes para generar las
 tuplas resultado de la consulta.
Cláusula ORDER BY
Ordena el resultado de los querys por los valores de las
columnas mencionadas. Solamente se puede ordenar por
las columnas especificadas en el SELECT.
  ASC: Es el valor por defecto e indica que los resultados se van a
  p
  presentar ascendentemente.
  DESC: Debe especificarse al lado de la columna cuyo orden se
  desea ver en forma descendente.
Consideración: ordenar un gran número de tuplas puede
ser costoso. Es conveniente ordenar sólo cuando sea
estrictamente necesario.
Cláusula ORDER BY
  á

SELECT {columna 1, columna 2,…}
FROM …
[WHERE …]
[GROUP BY...]
[HAVING ...]
ORDER BY columna 1 [ASC|DESC],....
Cláusula ORDER BY
     á

SELECT   Nombre 'Departamento',
         AVG(SueldoBasico) 'Promedio Sueldos'
FROM     EMPLEADO EM, DEPARTAMENTO DE
WHERE    EM.Departamento = DE.Departamento
GROUP BY Nombre
ORDER BY AVG(SueldoBasico) DESC
Operador UNION

Permite manipular los resultados de dos o mas
querys,
querys combinándolos en un único conjunto de datos.
                                                 datos
Muestra las filas recuperadas por cualquiera de los
query
A diferencia del SELECT, que por omisión conserva los
duplicados, la operación de unión normalmente los
suprime.
A fin de evitar esto, es necesario colocar a
continuación del operador UNION la palabra clave ALL
Operador UNION
 Query1 [UNION [ALL]] QueryN
 [
 [ORDER BY…..]
             ]
 donde:
Query1:              y QueryN
SELECT select-list
         l    l      SELECT select-list
                              l t li t
     [INTO]               [FROM]
     [
     [FROM]]              [
                          [WHERE] ]
     [WHERE]              [GROUP BY]
     [GROUP BY]           [HAVING]
     [HAVING]
Operador UNION
Todas las select-list mencionadas con la sentencia
UNION, deben tener el mismo número de expresiones
(columnas, e p esiones aritméticas, funciones
(col mnas expresiones a itméticas f nciones de
agregación, etc.).
Las columnas que se corresponden, deben tener el
mismo tipo de dato, sino es así, debe existir una
                               í
conversión de datos implícita o explícita con una
función de conversión de por medio.
Operador UNION

“Todos los clientes que poseen una cuenta, un
  préstamo o ambos
               ambos”

     (SELECT    nombre-cliente
     FROM       TITULAR-CUENTA)
     UNION
     (SELECT    nombre-cliente
     FROM       PRESTATARIO)
OUTER JOINS
Los outer joins extienden los resultados de un join simple. Retornan las
filas coincidentes y también las filas de una de las tablas que no tiene
elementos en común con la otra.
  [Select]
  From tabla1, tabla2
  WHERE tabla1.columna1 = tabla2.columna1 (+)

 [Select]
 From tabla1 LEFT [OUTER] JOIN TABLA2
            ON tabla1.columna1 = tabla2.columna1

 …..devuelven todas las filas de la tabla1 aunque no tengan
                                                        g
   coincidencias con la tabla2 en la columna1.
OUTER JOINS
SELECT      IDPersona, NombreCompleto,
            IDDepartamento, SueldoBasico
   FROM     PERSONA,
            PERSONA EMPLEADO
   WHERE IDPersona = IDEmpleado (+)

SELECT         IDPersona, N b C
               IDP        NombreCompleto,
                                     l t
               IDDepartamento, SueldoBasico
   FROM        PERSONA LEFT JOIN EMPLEADO
               ON
               O IDPersona = IDEmpleado
                                    l d

   (Seleccionan todas las personas, aún las que no figuran en la tabla
     EMPLEADO)
OUTER JOINS
SELECT DE.Nombre_Dpto, IDEmpleado, SueldoBasico
FROM EMPLEADO RIGHT JOIN DEPARTAMENTO
     ON EMPLEADO.IDDepartamento =
     DEPARTAMENTO.IDDepartamento

(Selecciona todos los departamentos, aún los que no tienen
  empleados)
  Un join simple descarta las filas no coincidentes.
                                       coincidentes
  Un outer join preserva filas que de otra forma serían
  descartadas.
Uso de Subqueries
Un Subquery es una sentencia SELECT
anidada dentro de otras sentencias SQL
como SELECT, INSERT, UPDATE o DELETE,
o dentro de otro Subquery.
                    q y
A una sentencia SELECT, que contiene uno o
mas Subqueries, se la denomina Nested
        q
Query o SELECT anidado.
Uso de Subqueries
Subqueries con IN / NOT IN:
 El resultado, es una lista de cero o mas valores.
    resultado                             valores
 Una vez que el Subquery devuelve resultados, el
 Outer query los usa, por inclusión o negación.
 Con la palabra IN se puede resolver el operador
 relacional de Intersección
 Empleando NOT IN se resuelve el operador
 Diferencia
Uso de Subqueries
SELECT   NombreCompleto, SueldoBasico
FROM     PERSONA,
         PERSONA EMPLEADO
WHERE    IDPersona=IDEmpleado and
         IDEmpleado
         IDE l d NOT IN
         (SELECT IDEmpleado FROM
         SANCIONES_EMPLEADO)
Uso de Subqueries

Subqueries con Operadores de comparación.

 Son los subquerys que se introducen con algún
 operador de comparación como =, <>, <, <=, >,
 >=, etc.
 Estos subqueries retornan un solo valor.
Uso de Subqueries
Operadores de comparación modificados por ANY
o ALL. Estos subqueries retornan cero o
muchos valores.
  > ALL, significa que todos los valores retornados por
  el subquery son menores al valor de comparación del
  outer.
  > ANY, significa que por lo menos un valor retornado
     ANY
  por el subquery es menor al valor de comparación del
  outer.
Uso de Subqueries.
Mostrar ID, nombre y sueldo de todos los empleados cuyo
  sueldo es mayor a todos los sueldos de la tabla CARGO
               y
SELECT      IDEmpleado, NombreCompleto,
                 SueldoBasico
FROM        EMPLEADO, PERSONA
WHERE       IDEmpleado = IDPersona
            AND SueldoBasico > ALL
                 (SELECT Sueldo FROM CARGO)
Uso de Subqueries.
Mostrar ID, nombre y sueldo de todos los empleados cuyo sueldo
  es mayor a alguno de los sueldos de la tabla CARGO

SELECT      IDEmpleado, NombreCompleto, SueldoBasico
FROM        EMPLEADO, PERSONA
WHERE       IDEmpleado = IDPersona
            AND SueldoBasico > ANY
                 (SELECT Sueldo FROM CARGO)
Uso de Subqueries.
Subqueries con el uso de la palabra EXISTS:

  Funciona como un test de existencia. La cláusula
  WHERE,
  WHERE examina la existencia de filas devueltas
  por el Subquery. El Subquery devuelve los
  valores de TRUE o FALSE.
Uso de Subqueries.
“Muestra los códigos de los empleados que tienen
  alguna sanción”
    g
SELECT    IDEmpleado
FROM      EMPLEADO EM
WHERE     EXISTS
     (SELECT * FROM SANCIONES EMPLEADO SE
                    SANCIONES_EMPLEADO
     WHERE     EM.IDEmpleado = SE.IDEmpleado)
Subqueries correlativos

Aquellos queries anidados donde el Subquery
  depende del outer query para devolver sus
  valores.
Esto significa que el Subquery se ejecuta
  repetidamente, una vez por cada fila seleccionada
  por el Outer query.
Subqueries Correlativos
SELECT     a.IDEmpleado, a.SueldoBasico
FROM EMPLEADO a
WHERE      a.SueldoBasico >=
   (SELECT b.SueldoBasico FROM EMPLEADO b
      WHERE a.IDJefe = b.IDEmpleado )
Muestra código y sueldo de los empleados cuyos sueldos
  son mayores o iguales a los sueldos de sus respectivos
  jefes
Sentencia INSERT
  INSERT es otra sentencia DML base, usada para
  incorporar nuevas filas a una tabla de base de
  datos.

INSERT [INTO]
     {table name view-name} [(column-list)]
     {table-name | view name} [(column list)]
  {VALUES | (values-list) | select-statement }
Ejemplos de la Sentencia INSERT
Fabricantes (Nfabricante, país)
 INSERT INTO FABRICANTES (Nfabricante, País)
  VALUES (“Reynolds Tobacco CO.”, “EEUU”)


Marcas    (marca, Nfabricante, cartón, embalaje)
 INSERT INTO MARCAS
  VALUES (“Camel”, “Reynolds Tobacco CO.”, 10, 20)
Sentencia UPDATE
Modifica los datos existentes en filas de una
tabla de Base de Datos
UPDATE {table-name | view-name}
SET{column list
SET{column-list
   | variable-list
   | variable_and_column-list},…..
   [ WHERE { condition }]
Sentencia UPDATE
Cambiar aquellos cigarrillos de clase “Normal”, con filtro,
  fabricados por “Tabacalera Nacional”, de modo que
             p                          ,          q
  ahora no tengan filtro
UPDATE CIGARRILLOS
SET filtro = “N”
               N
WHERE marca in
  (
  (SELECT marca FROM MARCAS
   WHERE Nfabricante = “Tabacalera Nacional”
        And filtro = “S” and clase = “Normal”)
Sentencia DELETE
Elimina filas de una tabla de Base de Datos

DELETE FROM {table-name | view-name}
[WHERE {condition} ]
Sentencia DELETE
Eliminar todos los fabricantes que no manufacturen
   cigarrillos de clase “Ultra Light”
DELETE FROM FABRICANTES
WHERE Nfabricante NOT IN
  (SELECT DISTINCT Nfabricante
      FROM MARCAS
      WHERE marca IN
           (SELECT marca FROM CIGARRILLOS
           WHERE clase = “Ultra Light”))

Mais conteúdo relacionado

Mais procurados

Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sqlJulio Pari
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacionalOrlando Verdugo
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLalexmerono
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploWilliam Sánchez
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Command oracle
Command oracleCommand oracle
Command oraclednrdeleon
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sqlalexmerono
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabladmonges
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014Henry Cambal
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosVideoconferencias UTPL
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQLalexmerono
 
Trabajando con sql (parte 1)
Trabajando con sql (parte 1)Trabajando con sql (parte 1)
Trabajando con sql (parte 1)Juan Vade
 

Mais procurados (20)

Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sql
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Command oracle
Command oracleCommand oracle
Command oracle
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabla
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Bdii 09 ddl_new
Bdii 09 ddl_newBdii 09 ddl_new
Bdii 09 ddl_new
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
 
Sql 2010
Sql 2010Sql 2010
Sql 2010
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
 
Vistas
VistasVistas
Vistas
 
Trabajando con sql (parte 1)
Trabajando con sql (parte 1)Trabajando con sql (parte 1)
Trabajando con sql (parte 1)
 

Destaque

Consulta sql de tabla computador en access
Consulta sql de tabla computador en accessConsulta sql de tabla computador en access
Consulta sql de tabla computador en accessEmerson Garay
 
Bases de datos access
Bases de datos accessBases de datos access
Bases de datos accessChars Orden
 
Modelado con erwin
Modelado con erwinModelado con erwin
Modelado con erwinLuis Jherry
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turísticoLuis Jherry
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bdLuis Jherry
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en tiLuis Jherry
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesLuis Jherry
 
Mk vs dc fatalities
Mk vs dc fatalitiesMk vs dc fatalities
Mk vs dc fatalitiesjohntembo
 
Creación de tablas en Microsoft Access
Creación de tablas en Microsoft AccessCreación de tablas en Microsoft Access
Creación de tablas en Microsoft AccessJessyVivianita
 
Google merchant en PrestaShop
Google merchant en PrestaShopGoogle merchant en PrestaShop
Google merchant en PrestaShopIsmael Torres
 
集眾 之力,挑戰未來
集眾之力,挑戰未來集眾之力,挑戰未來
集眾 之力,挑戰未來Jun-Yuan Huang
 
Base de-datos-externa
Base de-datos-externa Base de-datos-externa
Base de-datos-externa Nathy Carrera
 

Destaque (20)

Consulta sql de tabla computador en access
Consulta sql de tabla computador en accessConsulta sql de tabla computador en access
Consulta sql de tabla computador en access
 
Bases de datos access
Bases de datos accessBases de datos access
Bases de datos access
 
Programación III
Programación IIIProgramación III
Programación III
 
Museo
MuseoMuseo
Museo
 
Modelado con erwin
Modelado con erwinModelado con erwin
Modelado con erwin
 
Telefonos
TelefonosTelefonos
Telefonos
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
 
Sistema escolar
Sistema escolarSistema escolar
Sistema escolar
 
Software s
Software sSoftware s
Software s
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
 
Mk vs dc fatalities
Mk vs dc fatalitiesMk vs dc fatalities
Mk vs dc fatalities
 
Creación de tablas en Microsoft Access
Creación de tablas en Microsoft AccessCreación de tablas en Microsoft Access
Creación de tablas en Microsoft Access
 
Google merchant en PrestaShop
Google merchant en PrestaShopGoogle merchant en PrestaShop
Google merchant en PrestaShop
 
集眾 之力,挑戰未來
集眾之力,挑戰未來集眾之力,挑戰未來
集眾 之力,挑戰未來
 
Base de-datos-externa
Base de-datos-externa Base de-datos-externa
Base de-datos-externa
 
Access Clase 02
Access Clase 02Access Clase 02
Access Clase 02
 
El nuevo Joomla! 1.6
El nuevo Joomla! 1.6El nuevo Joomla! 1.6
El nuevo Joomla! 1.6
 
Relacionar tablas en SQL
Relacionar tablas en SQLRelacionar tablas en SQL
Relacionar tablas en SQL
 

Semelhante a Sql basico parte_i_

Semelhante a Sql basico parte_i_ (20)

Ejemploddl dml-ok
Ejemploddl dml-okEjemploddl dml-ok
Ejemploddl dml-ok
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
Tema 3.2 SQL.ppt
Tema 3.2 SQL.pptTema 3.2 SQL.ppt
Tema 3.2 SQL.ppt
 
Tema 3.2 SQL.ppt
Tema 3.2 SQL.pptTema 3.2 SQL.ppt
Tema 3.2 SQL.ppt
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx
 
Unidad v integridad relacional
Unidad v  integridad relacionalUnidad v  integridad relacional
Unidad v integridad relacional
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Tablas y tipos de datos en microsoft sql server
Tablas y tipos de datos en microsoft sql serverTablas y tipos de datos en microsoft sql server
Tablas y tipos de datos en microsoft sql server
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
TABLAS Y TIPOS DE DATOS
TABLAS Y TIPOS DE DATOSTABLAS Y TIPOS DE DATOS
TABLAS Y TIPOS DE DATOS
 

Mais de Luis Jherry

Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cableLuis Jherry
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventosLuis Jherry
 
Selección de personal
Selección de personalSelección de personal
Selección de personalLuis Jherry
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medicoLuis Jherry
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feriaLuis Jherry
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresosLuis Jherry
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcciónLuis Jherry
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones minerasLuis Jherry
 
Eventos científicos
Eventos científicosEventos científicos
Eventos científicosLuis Jherry
 
Escuela de manejo ii
Escuela de manejo iiEscuela de manejo ii
Escuela de manejo iiLuis Jherry
 
Escuela de manejo i
Escuela de manejo   iEscuela de manejo   i
Escuela de manejo iLuis Jherry
 
Entorno de ejecución
Entorno de ejecuciónEntorno de ejecución
Entorno de ejecuciónLuis Jherry
 
Ensamblaje y venta de computadoras
Ensamblaje y venta de computadorasEnsamblaje y venta de computadoras
Ensamblaje y venta de computadorasLuis Jherry
 
Energía eléctrica
Energía eléctricaEnergía eléctrica
Energía eléctricaLuis Jherry
 
Empresa ferroviaria
Empresa ferroviariaEmpresa ferroviaria
Empresa ferroviariaLuis Jherry
 

Mais de Luis Jherry (20)

Tienda de ropa
Tienda de ropaTienda de ropa
Tienda de ropa
 
Suscripciones
SuscripcionesSuscripciones
Suscripciones
 
Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
 
Hostal
HostalHostal
Hostal
 
Hostal ii
Hostal iiHostal ii
Hostal ii
 
Gimnasio
GimnasioGimnasio
Gimnasio
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
 
Eventos científicos
Eventos científicosEventos científicos
Eventos científicos
 
Escuela de manejo ii
Escuela de manejo iiEscuela de manejo ii
Escuela de manejo ii
 
Escuela de manejo i
Escuela de manejo   iEscuela de manejo   i
Escuela de manejo i
 
Entorno de ejecución
Entorno de ejecuciónEntorno de ejecución
Entorno de ejecución
 
Ensamblaje y venta de computadoras
Ensamblaje y venta de computadorasEnsamblaje y venta de computadoras
Ensamblaje y venta de computadoras
 
Energía eléctrica
Energía eléctricaEnergía eléctrica
Energía eléctrica
 
Empresa ferroviaria
Empresa ferroviariaEmpresa ferroviaria
Empresa ferroviaria
 

Último

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 

Último (20)

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 

Sql basico parte_i_

  • 1. Base d D B de Datos: Lenguaje SQL guaj Q Profesor: MSC. MSC Luis Serna Jherry Jherry.
  • 2. Objetivos de Hoy Introducción al SQL Basico Sentencias DDL: CREATE TABLE ALTER TABLE DROP TABLE Sentencia DML: SELECT Cláusulas SELECT, FROM, INTO, WHERE Cláusulas GROUP BY, HAVING Cláusula ORDER BY á Tipos de JOIN Subqueries Sentencias INSERT UPDATE y DELETE INSERT,
  • 4. SENTENCIAS DDL CREATE TABLE Las tablas se definen en tres pasos: Dar el nombre a la tabla Definir cada columna, posiblemente incluyendo restricciones de columna Definir las restricciones de la tabla
  • 5. SENTENCIAS DDL CREATE TABLE CREATE TABLE nombre-tabla {campo1 (tipo ta a o / do ca po (t po tamaño dominio) [NOT NULL], o) [ O U ], [campo2 (tipo tamaño / dominio) [NOT NULL]], [PRIMARY KEY (c1, c2, ..., cn)], [ (c , c , , c ) [FOREIGN KEY (c1) REFERENCES tabla-x], [CHECK (P)]}
  • 6. SENTENCIAS DDL CREATE TABLE Nombre-tabla: Es el nombre de la tabla que se va a crear. Campo i: son los nombres de los campos de la tabla. p p Tipo: Es el tipo de datos del campo. Tamaño:Es el tamaño del campo en caracteres p Dominio: es el nombre del dominio asignado al campo.
  • 7. SENTENCIAS DDL CREATE TABLE Primary Key: especifica las columnas que conforman la clave primaria de la tabla. Foreign key: indica las columnas que constituyen clave externa en la tabla References: indica la tabla que provee la clave foránea. Check (P): especifica un predicado que debe satisfacer cada fila de la tabla
  • 8. SENTENCIAS DDL Ejemplos: CREATE TABLE CREATE TABLE Clientes ( (id-cliente char(5) not null, ( ) , nombre-cliente char(20), ca e c e te calle-cliente c a (30), char(30), primary key id-cliente)
  • 9. SENTENCIAS DDL Ejemplos: CREATE TABLE CREATE TABLE Cuenta ( (id-cuenta char(10) not null, ( ) , id-cliente char(5), sa do saldo integer tege check (saldo >= 0), primary key id cuenta id-cuenta foreign key id-cliente references clientes)
  • 10. SENTENCIAS DDL Uso de Constraints Una restricción es similar a un índice, aunque también se puede utilizar para establecer una relación con otra tabla. Puede utilizar la cláusula CONSTRAINT en las instrucciones ALTER TABLE y CREATE TABLE para crear o eliminar restricciones. restricciones Hay dos tipos de cláusulas CONSTRAINT: una para crear una restricciones en un único campo y otra para crear una p p restricción en más de un campo.
  • 11. SENTENCIAS DDL Uso de Constraints CONSTRAINT nombre { {PRIMARY KEY (p (principal1 [,principal2 [, ...]]) | p [,p p ]]) UNIQUE (único1 [,único2 [, ...]]) | NOT NULL (negadonulo1 [,negadonulo2 [, ...]]) | FOREIGN KEY (referencia1 [,referencia2 [, ...]]) REFERENCES tabla_externa [(campo_externo1 [,campo_externo2 [, ]])]} [ campo externo2 [ ...]])]}
  • 12. SENTENCIAS DDL Uso de Constraints Nombre: Es el nombre de la restricción que se va a crear. principal1, principal2: Son los nombres de los campos que se van a designar como clave principal. p incipal único1, único2: Son los nombres de los campos que se van a designar como clave única única.
  • 13. SENTENCIAS DDL Uso de Constraints negadonulo1, negadonulo2: Son los nombres de campos que se van a limitar a valores no Null. p q referencia1, referencia2: Son los nombres de los campos de la clave externa a los que se hace referencia en otra tabla.
  • 14. SENTENCIAS DDL Uso de Constraints Tabla_externa: Es el nombre de la tabla externa que contiene el campo o los campos especificados por p p p p campo_externo. Campo_externo1, campo_externo2: Son los nombres de los l campos en tabla_externa especificados por t bl t ifi d referencia1, referencia2. Puede omitir esta cláusula si el campo al que se hace referencia es la clave principal de tabla_externa.
  • 15. SENTENCIAS DDL ALTER TABLE ALTER TABLE nombre-tabla { {ADD | MODIFY [COLUMN campo tipo [(tamaño)] [NOT NULL] [CONSTRAINT nombre-constraint tipo-constraint]] | [CONSTRAINT nombre-constraint tipo-constraint (campo,…)]}
  • 16. SENTENCIAS DDL ALTER TABLE Tabla: Es el nombre de la tabla que se va a modificar. modificar Campo: Es el nombre del campo que se va a agregar o eliminar de tabla. tabla Tipo: Es el tipo de datos del campo. Tamaño:Es el tamaño del campo en caracteres
  • 17. SENTENCIAS DDL Ejemplos: ALTER TABLE Adicionar un campo: ALTER TABLE Empleados ADD COLUMN Salario number(15,2) Quitar el campo Salario de la tabla Empleados: ALTER TABLE Empleados DROP COLUMN Salario;
  • 18. SENTENCIAS DDL Ejemplos: ALTER TABLE Adicionar una clave foránea: ALTER TABLE Pedidos ADD CONSTRAINT PedidosEmpleados FOREIGN KEY (IdEmpleado) REFERENCES Empleados (IdEmpleado) Quitar la clave externa existente de la tabla Pedidos: ALTER TABLE Pedidos DROP CONSTRAINT PedidosEmpleados;
  • 19. SENTENCIAS DDL DROP DROP {TABLE tabla | INDEX índice ON tabla} tabla: Es el nombre de la tabla que se va a eliminar o la tabla de la cual se va a eliminar un índice. Índice: Es el nombre del índice que se va a q eliminar de tabla.
  • 20. SENTENCIAS DDL Ejemplos: DROP Ejemplo de como se elimina el índice Mi_Indice de la tabla Empleados: DROP INDEX Mi_Indice ON Empleados; Ejemplo de cómo se elimina una tabla: DROP TABLE Practicas; ;
  • 22. Introducción l I t d ió al SQL - SQL DML Sentencias de Manipulación de Datos SELECT INSERT UPDATE DELETE
  • 23. Sentencia SELECT – Estructura Básica SELECT ..... FROM .... WHERE SELECT corresponde a la operación Proyección (Π). Lista los atributos deseados en el resultado de la consulta. FROM corresponde a la operación Producto Cartesiano (X). Lista las relaciones que se deben analizar. WHERE corresponde al predicado S l ió ( ) y se d l di d Selección (σ), refiere a los atributos de las relaciones listadas en FROM.
  • 24. Sentencia SELECT [SELECT ...] [INTO ...] [FROM ...] [WHERE ...] [GROUP BY …] [HAVING ...] [ORDER BY ...]] [UNION ...]
  • 25. Cláusula SELECT En la cláusula SELECT se especifican las columnas que van a ser mostradas en pantalla SELECT [all | distinct] {* | tabla.* | [ [tabla.]campo1 [ ] p [encab1] , ] [tabla.]campo2 [encab2] , ...}
  • 26. Cláusula FROM Específica la(s) fuente(s) de donde van a ser tomadas las columnas mostradas y/o operadas en y/ p la sentencia Select. [SELECT…] FROM expresión tabla [as] t_alias [, ...]
  • 27. Cláusula INTO La cláusula INTO, permite guardar los resultados intermedios de una consulta [SELECT ...] INTO tabla_into ] tabla into [FROM ...]
  • 28. Cláusula WHERE Donde se especifican las condiciones de búsqueda y join para las filas que conforman el conjunto resultado. [SELECT ...] [FROM ...] WHERE condiciones_de_búsqueda Tipos de condiciones Condiciones de comparación, de Join, o de Subquery.
  • 29. Ejemplos de la Sentencia SELECT SELECT distinct emp_id, fecha_nac, direccion FROM EMPLEADO WHERE nombre = “Juan” AND apellido = “Perez” ∏fecha_nac, direccion (σnombre = “Juan” AND apellido = “Perez” (EMPLEADO))
  • 30. Ejemplos de la Sentencia SELECT ‘Mostrar la relación de clientes que han obtenido un préstamo en alguna sucursal de Miraflores’ SELECT DISTINCT nombre-cliente FROM PRESTATARIO PRS, PRESTAMO PTR WHERE PRS.idpréstamo = PRT.numpréstamo AND nombre-sucursal = “Miraflores” Miraflores
  • 31. Condiciones de Búsqueda Las condiciones de búsqueda pueden incluir: Operadores de Comparación (=, <>, < y >). (= <> >) Porciones de cadenas de caracteres (SUBSTR) Rangos (BETWEEN y NOT BETWEEN). g ( ) Listas (IN, NOT IN). Patrones de caracteres (LIKE y NOT LIKE). Valores desconocidos (IS NULL y IS NOT NULL). Combinaciones con conjunciones (AND, OR).
  • 32. Condiciones de Búsqueda Operadores de comparación: WHERE SueldoBásico > 1000 WHERE SUBSTR(CodigoPostal, 1, 3)= “SAN” Rangos (BETWEEN / NOT BETWEEN): WHERE SueldoBásico BETWEEN 1000 AND 5000 Listas (IN / NOT IN): WHERE Departamento NOT IN ('ADM', 'SIS') Coincidencia de patrones o cadenas de caracteres (LIKE / NOT LIKE)) WHERE NombreCompleto LIKE “LET%”
  • 33. Comodines (Wildcards) en la cláusula WHERE Wildcard Significado g *% Cualquier cadena de cero o mas caracteres. ?, #, _ Cualquier carácter/ número único. [-] Cualquier carácter único dentro de un rango. [!] Cualquier carácter único que no está dentro de un rango.
  • 34. Operadores y Wildcards en la cláusula WHERE ….WHERE Nombre LIKE “Ma%” busca todos los nombres que comiencen con “Ma” (Ej.: María, Mariana, Manuel, Martín) LIKE “%ía” busca todos los nombres que terminen con “ía”. (Ej.: Sofía, María, Estefanía). LIKE “%ar%” busca todos los nombres que tengan las letras “ar”. (Ej.:Carlos, Arturo Eleazar) (Ej :Carlos Arturo, Eleazar).
  • 35. Operadores y Wildcards en la cláusula WHERE LIKE “_va” busca todos los nombres de tres letras que terminan en “va”. (Ej.: Eva, Iva, Ava). ( j , , ) LIKE “[CM]arlo[ns]” busca todos los nombres: Carlon, Marlon, Carlos y Marlos. LIKE “[B D]elia” [B-D]elia busca todos los nombres que terminan en “elia” y que comiencen con las letras de la B a la D. (Ej.: Delia, Celia). LIKE “_ _ _” busca todas las cadenas de exactamente 3 caracteres. LIKE “_ _ _ %” busca las cadenas de al menos 3 caracteres.
  • 36. Operadores y Wildcards en la cláusula WHERE CARACTERES DE ESCAPE: Para que los patrones puedan contener los caracteres especiales comodín, se especifica un caracter de escape. LIKE “%ab_cd” escape “” busca todas las cadenas que “% b d” b t d l d terminen con “ab_cd”. LIKE “ab_cd%” escape “” busca las cadenas que empiecen con “ab_cd”.
  • 37. Tablas Combinadas Permite especificar la tabla resultante de una operación de reunión natural en la cláusula FROM, en lugar de colocar las , g condiciones de JOIN en el WHERE [SELECT] FROM TABLA1 [INNER] JOIN TABLA2 ON TABLA1.COLUMNA1 = TABLA2.COLUMNA1 [WHERE]
  • 38. Tablas Combinadas SELECT DISTINCT nombre-cliente FROM PRESTATARIO PRS [INNER] JOIN PRESTAMO PTR On PRS.idpréstamo = PRT.numpréstamo WHERE nombre-sucursal = “Miraflores”
  • 39. Cláusula GROUP BY Especifica las columnas por las que las filas van a estar agrupadas o particionadas Los particionadas. resultados del query contienen un valor o conjunto de valores para cada conjunto de j p j valores indicado por las funciones_de_agregación nombradas en la lista del Select
  • 40. Cláusula GROUP BY á SELECT {{columnas_de_agrupación,…}, {función_de_agregación,…}} {f ió d ió }} FROM … [WHERE …] GROUP BY {columnas_de_agrupación,…} {columnas de agrupación }
  • 41. Funciones de Agregación más g g usadas SUM([ALL|DISTINCT] Calcula el total de una expresión numérica expresión) para todas las filas o sólo las distintas. AVG([ALL|DISTINCT] Calcula el promedio de una expresión expresión) numérica para las filas involucradas. ([ | ] MIN([ALL|DISTINCT] Calcula el mínimo valor de una expresión p expresión) numérica para las filas involucradas MAX([ALL|DISTINCT] Calcula el máximo valor de una expresión expresión) numérica para las filas involucradas. COUNT([ALL|DISTINCT] Número de veces que se repite el valor de la expresión) expresión. COUNT(*) Número Núme o de filas seleccionadas
  • 42. Cláusula GROUP BY á ‘Mostrar la suma de sueldo básico de los empleados activos, por Departamento’ SELECT Nombre_Depto, SUM(SueldoBasico) FROM EMPLEADO EM, DEPARTAMENTO DE EM WHERE EM.IDDepartamento = DE.IDDepartamento AND EstadoEmpleado= 'ACT’ GROUP BY Nombre_Depto
  • 43. Cláusula GROUP BY á “Obtener el número de titulares de cuenta de cada sucursal sucursal” SELECT nombre_sucursal, nombre sucursal, COUNT ( DISTINCT nombre-cliente) FROM TITULAR-CUENTA TC, CUENTA CUE WHERE TC.numero-cuenta = CUE. numero-cuenta GROUP BY nombre-sucursal
  • 44. Cláusula HAVING á Especifica una restricción que aplica a las funciones de agregación de los grupos Esto grupos. afecta a las filas que son devueltas como resultado y no al cálculo de las funciones de agregación. La cláusula WHERE si condiciona el número de filas que intervienen en el cálculo de las funciones de agregación.
  • 45. Cláusula HAVING á SELECT {{columnas_de_agrupación,…}, {función_de_agregación,…}} {función de agregación }} FROM … [WHERE …] ] GROUP BY {columnas_de_agrupación,…} HAVING condiciones de búsqueda condiciones_de_búsqueda
  • 46. GROUP BY y HAVING “Mostrar el sueldo promedio de los Departamentos con promedio superior a 1000” SELECT Nombre_Depto, AVG(SueldoBasico) FROM EMPLEADO EM, DEPARTAMENTO DE WHERE EM.IDDepartamento EM IDDepartamento = DE.IDDepartamento AND EstadoEmpleado= 'ACT' p GROUP BY Nombre_Depto HAVING AVG(SueldoBasico) > 1000
  • 47. GROUP BY y HAVING “Saldo promedio de cada cliente de Surco que tiene como mínimo 3 cuentas” SELECT TC. Nombre-cliente, AVG (saldo) FROM TITULAR-CUENTA TC, CUENTA CUE, CLIENTE CLI WHERE TC.numero-cuenta = CUE TC t CUE.numero-cuenta t AND TC.nombre-cliente = C C o b e c e te CLI.nombre-cliente AND o b e c e te ciudad-cliente = “Surco” GROUP BY TC.nombre-cliente HAVING COUNT (DISTINCT TC.numero-cuenta) >= 3
  • 48. GROUP BY - HAVING - WHERE Procedimiento: Si en una misma consulta aparece una cláusula WHERE y una cláusula HAVING, se aplica primero el predicado de la cláusula WHERE. Las tuplas que satisfagan la condición, se colocan en grupos según la cláusula GROUP BY. La cláusula HAVING se aplica luego a cada grupo. Los grupos grupo que no la satisfagan se eliminan. La cláusula SELECT utiliza los grupos restantes para generar las tuplas resultado de la consulta.
  • 49. Cláusula ORDER BY Ordena el resultado de los querys por los valores de las columnas mencionadas. Solamente se puede ordenar por las columnas especificadas en el SELECT. ASC: Es el valor por defecto e indica que los resultados se van a p presentar ascendentemente. DESC: Debe especificarse al lado de la columna cuyo orden se desea ver en forma descendente. Consideración: ordenar un gran número de tuplas puede ser costoso. Es conveniente ordenar sólo cuando sea estrictamente necesario.
  • 50. Cláusula ORDER BY á SELECT {columna 1, columna 2,…} FROM … [WHERE …] [GROUP BY...] [HAVING ...] ORDER BY columna 1 [ASC|DESC],....
  • 51. Cláusula ORDER BY á SELECT Nombre 'Departamento', AVG(SueldoBasico) 'Promedio Sueldos' FROM EMPLEADO EM, DEPARTAMENTO DE WHERE EM.Departamento = DE.Departamento GROUP BY Nombre ORDER BY AVG(SueldoBasico) DESC
  • 52. Operador UNION Permite manipular los resultados de dos o mas querys, querys combinándolos en un único conjunto de datos. datos Muestra las filas recuperadas por cualquiera de los query A diferencia del SELECT, que por omisión conserva los duplicados, la operación de unión normalmente los suprime. A fin de evitar esto, es necesario colocar a continuación del operador UNION la palabra clave ALL
  • 53. Operador UNION Query1 [UNION [ALL]] QueryN [ [ORDER BY…..] ] donde: Query1: y QueryN SELECT select-list l l SELECT select-list l t li t [INTO] [FROM] [ [FROM]] [ [WHERE] ] [WHERE] [GROUP BY] [GROUP BY] [HAVING] [HAVING]
  • 54. Operador UNION Todas las select-list mencionadas con la sentencia UNION, deben tener el mismo número de expresiones (columnas, e p esiones aritméticas, funciones (col mnas expresiones a itméticas f nciones de agregación, etc.). Las columnas que se corresponden, deben tener el mismo tipo de dato, sino es así, debe existir una í conversión de datos implícita o explícita con una función de conversión de por medio.
  • 55. Operador UNION “Todos los clientes que poseen una cuenta, un préstamo o ambos ambos” (SELECT nombre-cliente FROM TITULAR-CUENTA) UNION (SELECT nombre-cliente FROM PRESTATARIO)
  • 56. OUTER JOINS Los outer joins extienden los resultados de un join simple. Retornan las filas coincidentes y también las filas de una de las tablas que no tiene elementos en común con la otra. [Select] From tabla1, tabla2 WHERE tabla1.columna1 = tabla2.columna1 (+) [Select] From tabla1 LEFT [OUTER] JOIN TABLA2 ON tabla1.columna1 = tabla2.columna1 …..devuelven todas las filas de la tabla1 aunque no tengan g coincidencias con la tabla2 en la columna1.
  • 57. OUTER JOINS SELECT IDPersona, NombreCompleto, IDDepartamento, SueldoBasico FROM PERSONA, PERSONA EMPLEADO WHERE IDPersona = IDEmpleado (+) SELECT IDPersona, N b C IDP NombreCompleto, l t IDDepartamento, SueldoBasico FROM PERSONA LEFT JOIN EMPLEADO ON O IDPersona = IDEmpleado l d (Seleccionan todas las personas, aún las que no figuran en la tabla EMPLEADO)
  • 58. OUTER JOINS SELECT DE.Nombre_Dpto, IDEmpleado, SueldoBasico FROM EMPLEADO RIGHT JOIN DEPARTAMENTO ON EMPLEADO.IDDepartamento = DEPARTAMENTO.IDDepartamento (Selecciona todos los departamentos, aún los que no tienen empleados) Un join simple descarta las filas no coincidentes. coincidentes Un outer join preserva filas que de otra forma serían descartadas.
  • 59. Uso de Subqueries Un Subquery es una sentencia SELECT anidada dentro de otras sentencias SQL como SELECT, INSERT, UPDATE o DELETE, o dentro de otro Subquery. q y A una sentencia SELECT, que contiene uno o mas Subqueries, se la denomina Nested q Query o SELECT anidado.
  • 60. Uso de Subqueries Subqueries con IN / NOT IN: El resultado, es una lista de cero o mas valores. resultado valores Una vez que el Subquery devuelve resultados, el Outer query los usa, por inclusión o negación. Con la palabra IN se puede resolver el operador relacional de Intersección Empleando NOT IN se resuelve el operador Diferencia
  • 61. Uso de Subqueries SELECT NombreCompleto, SueldoBasico FROM PERSONA, PERSONA EMPLEADO WHERE IDPersona=IDEmpleado and IDEmpleado IDE l d NOT IN (SELECT IDEmpleado FROM SANCIONES_EMPLEADO)
  • 62. Uso de Subqueries Subqueries con Operadores de comparación. Son los subquerys que se introducen con algún operador de comparación como =, <>, <, <=, >, >=, etc. Estos subqueries retornan un solo valor.
  • 63. Uso de Subqueries Operadores de comparación modificados por ANY o ALL. Estos subqueries retornan cero o muchos valores. > ALL, significa que todos los valores retornados por el subquery son menores al valor de comparación del outer. > ANY, significa que por lo menos un valor retornado ANY por el subquery es menor al valor de comparación del outer.
  • 64. Uso de Subqueries. Mostrar ID, nombre y sueldo de todos los empleados cuyo sueldo es mayor a todos los sueldos de la tabla CARGO y SELECT IDEmpleado, NombreCompleto, SueldoBasico FROM EMPLEADO, PERSONA WHERE IDEmpleado = IDPersona AND SueldoBasico > ALL (SELECT Sueldo FROM CARGO)
  • 65. Uso de Subqueries. Mostrar ID, nombre y sueldo de todos los empleados cuyo sueldo es mayor a alguno de los sueldos de la tabla CARGO SELECT IDEmpleado, NombreCompleto, SueldoBasico FROM EMPLEADO, PERSONA WHERE IDEmpleado = IDPersona AND SueldoBasico > ANY (SELECT Sueldo FROM CARGO)
  • 66. Uso de Subqueries. Subqueries con el uso de la palabra EXISTS: Funciona como un test de existencia. La cláusula WHERE, WHERE examina la existencia de filas devueltas por el Subquery. El Subquery devuelve los valores de TRUE o FALSE.
  • 67. Uso de Subqueries. “Muestra los códigos de los empleados que tienen alguna sanción” g SELECT IDEmpleado FROM EMPLEADO EM WHERE EXISTS (SELECT * FROM SANCIONES EMPLEADO SE SANCIONES_EMPLEADO WHERE EM.IDEmpleado = SE.IDEmpleado)
  • 68. Subqueries correlativos Aquellos queries anidados donde el Subquery depende del outer query para devolver sus valores. Esto significa que el Subquery se ejecuta repetidamente, una vez por cada fila seleccionada por el Outer query.
  • 69. Subqueries Correlativos SELECT a.IDEmpleado, a.SueldoBasico FROM EMPLEADO a WHERE a.SueldoBasico >= (SELECT b.SueldoBasico FROM EMPLEADO b WHERE a.IDJefe = b.IDEmpleado ) Muestra código y sueldo de los empleados cuyos sueldos son mayores o iguales a los sueldos de sus respectivos jefes
  • 70. Sentencia INSERT INSERT es otra sentencia DML base, usada para incorporar nuevas filas a una tabla de base de datos. INSERT [INTO] {table name view-name} [(column-list)] {table-name | view name} [(column list)] {VALUES | (values-list) | select-statement }
  • 71. Ejemplos de la Sentencia INSERT Fabricantes (Nfabricante, país) INSERT INTO FABRICANTES (Nfabricante, País) VALUES (“Reynolds Tobacco CO.”, “EEUU”) Marcas (marca, Nfabricante, cartón, embalaje) INSERT INTO MARCAS VALUES (“Camel”, “Reynolds Tobacco CO.”, 10, 20)
  • 72. Sentencia UPDATE Modifica los datos existentes en filas de una tabla de Base de Datos UPDATE {table-name | view-name} SET{column list SET{column-list | variable-list | variable_and_column-list},….. [ WHERE { condition }]
  • 73. Sentencia UPDATE Cambiar aquellos cigarrillos de clase “Normal”, con filtro, fabricados por “Tabacalera Nacional”, de modo que p , q ahora no tengan filtro UPDATE CIGARRILLOS SET filtro = “N” N WHERE marca in ( (SELECT marca FROM MARCAS WHERE Nfabricante = “Tabacalera Nacional” And filtro = “S” and clase = “Normal”)
  • 74. Sentencia DELETE Elimina filas de una tabla de Base de Datos DELETE FROM {table-name | view-name} [WHERE {condition} ]
  • 75. Sentencia DELETE Eliminar todos los fabricantes que no manufacturen cigarrillos de clase “Ultra Light” DELETE FROM FABRICANTES WHERE Nfabricante NOT IN (SELECT DISTINCT Nfabricante FROM MARCAS WHERE marca IN (SELECT marca FROM CIGARRILLOS WHERE clase = “Ultra Light”))