MANIPULACION DE DATOS En una Base de Datos Relacional, los datos se manipulan con las siguientes sentencias: Insert: Permite insertar registros o tuplas Delete: Permite eliminar registros o tuplas Update: Permite modificar registros o tuplas Select: Permite consultar registros o tuplas.
Sentencia SELECT Es la sentencia nativa de SQL para recuperar datos de una base de datos relacional. Es una sentencia muy poderosa y depende su efectividad de una correcta definición de las tablas de la Base de Datos.
SELECT    Sentencia “SELECT”     T1_a1 T3_a2 T2_a2
Algunas propiedades (Proyección): Permite escoger algunas columnas de la tabla indicada. Se eliminan las tuplas duplicadas. El resultado tiene  k  columnas. (Selección): Permite seleccionar sólo algunas filas de una tabla;  c es una expresión (condición).
Aplicación de SELECT
Create Table del ejemplo create table ALUMNOS  ( ALU_CODIGO  CHAR(10)  not null, ALU_CAR  CHAR(5)  not null, ALU_NOMBRE  VARCHAR2(20)  not null, constraint PK_ALUMNOS primary key (ALU_CODIGO) ); create table CARRERAS  ( CAR_CODIGO  CHAR(5)  not null, CAR_NOMBRE  VARCHAR2(25)  not null, constraint PK_CARRERAS primary key (CAR_CODIGO) ); alter table ALUMNOS add constraint FK_ALUMNOS_RELATIONS_CARRERAS foreign key (ALU_CAR) references CARRERAS (CAR_CODIGO);
Sentencia Básica SELECT SELECT <Campos a desplegar> FROM <Tablas involucradas> WHERE <Condición de enlace de tablas y criterio de selección> GROUP BY <Criterio de agrupación> HAVING <Criterio de selección de los resultados del Select> ORDER BY <Criterio de orden de los resultados>; nombre alumnos Rut_alumno = ’11.123.234-K’ No corresponde, Rut = PK No corresponde, Rut = PK No corresponde, Rut = PK
Sentencia Básica SELECT SELECT <Campos a desplegar> FROM <Tablas involucradas> WHERE <Condición de enlace de tablas y criterio de selección> GROUP BY <Criterio de agrupación> HAVING <Criterio de selección de los resultados del Select> ORDER BY <Criterio de orden de los resultados>; Edad, count(*) as cantidad alumnos Edad > 18 and edad <21 edad Cantidad > 1 edad
EJEMPLO GRAFICO 1 Tablas SELECT ... RESULTADO SELECT  Carreras.Car_Nombre, Alumnos.Alu_Nombre FROM Carreras, Alumnos WHERE Carreras.Car_Codigo = Alumnos.Alu_Car
Tablas SELECT ... SELECT  Carreras.Car_Nombre, Count(*) as Cantidad FROM Carreras, Alumnos WHERE Carreras.Car_Codigo = Alumnos.Alu_Car GROUP BY Carreras.Car_Nombre ORDER BY Carreras.Car_Nombre; EJEMPLO GRAFICO 2
Consideraciones Para referenciar a todos los registros de una tabla, se usa el símbolo *. Para referenciar un campo de una tabla se usa la sintáxis: tabla.campo (ejemplo: alumnos.rut). Para recopilar datos provenientes de dos o más tablas, no necesariamente debe existir una relación entre las tablas.

Sentencias Select

  • 1.
    MANIPULACION DE DATOSEn una Base de Datos Relacional, los datos se manipulan con las siguientes sentencias: Insert: Permite insertar registros o tuplas Delete: Permite eliminar registros o tuplas Update: Permite modificar registros o tuplas Select: Permite consultar registros o tuplas.
  • 2.
    Sentencia SELECT Esla sentencia nativa de SQL para recuperar datos de una base de datos relacional. Es una sentencia muy poderosa y depende su efectividad de una correcta definición de las tablas de la Base de Datos.
  • 3.
    SELECT  Sentencia “SELECT”  T1_a1 T3_a2 T2_a2
  • 4.
    Algunas propiedades (Proyección):Permite escoger algunas columnas de la tabla indicada. Se eliminan las tuplas duplicadas. El resultado tiene k columnas. (Selección): Permite seleccionar sólo algunas filas de una tabla; c es una expresión (condición).
  • 5.
  • 6.
    Create Table delejemplo create table ALUMNOS ( ALU_CODIGO CHAR(10) not null, ALU_CAR CHAR(5) not null, ALU_NOMBRE VARCHAR2(20) not null, constraint PK_ALUMNOS primary key (ALU_CODIGO) ); create table CARRERAS ( CAR_CODIGO CHAR(5) not null, CAR_NOMBRE VARCHAR2(25) not null, constraint PK_CARRERAS primary key (CAR_CODIGO) ); alter table ALUMNOS add constraint FK_ALUMNOS_RELATIONS_CARRERAS foreign key (ALU_CAR) references CARRERAS (CAR_CODIGO);
  • 7.
    Sentencia Básica SELECTSELECT <Campos a desplegar> FROM <Tablas involucradas> WHERE <Condición de enlace de tablas y criterio de selección> GROUP BY <Criterio de agrupación> HAVING <Criterio de selección de los resultados del Select> ORDER BY <Criterio de orden de los resultados>; nombre alumnos Rut_alumno = ’11.123.234-K’ No corresponde, Rut = PK No corresponde, Rut = PK No corresponde, Rut = PK
  • 8.
    Sentencia Básica SELECTSELECT <Campos a desplegar> FROM <Tablas involucradas> WHERE <Condición de enlace de tablas y criterio de selección> GROUP BY <Criterio de agrupación> HAVING <Criterio de selección de los resultados del Select> ORDER BY <Criterio de orden de los resultados>; Edad, count(*) as cantidad alumnos Edad > 18 and edad <21 edad Cantidad > 1 edad
  • 9.
    EJEMPLO GRAFICO 1Tablas SELECT ... RESULTADO SELECT Carreras.Car_Nombre, Alumnos.Alu_Nombre FROM Carreras, Alumnos WHERE Carreras.Car_Codigo = Alumnos.Alu_Car
  • 10.
    Tablas SELECT ...SELECT Carreras.Car_Nombre, Count(*) as Cantidad FROM Carreras, Alumnos WHERE Carreras.Car_Codigo = Alumnos.Alu_Car GROUP BY Carreras.Car_Nombre ORDER BY Carreras.Car_Nombre; EJEMPLO GRAFICO 2
  • 11.
    Consideraciones Para referenciara todos los registros de una tabla, se usa el símbolo *. Para referenciar un campo de una tabla se usa la sintáxis: tabla.campo (ejemplo: alumnos.rut). Para recopilar datos provenientes de dos o más tablas, no necesariamente debe existir una relación entre las tablas.