Sei sulla pagina 1di 14

Estructura de la Base de Datos

DESCRIPCIN DE LAS TABLAS

La tabla DEPARTMENT
Contiene la informacin de los departamentos de la empresa

La tabla EMPLOYEE
Contiene la informacin de los empleados dentro de la empresa.

La tabla PROJECT
Contiene la informacin de los proyectos que se estn llevando a
cabo dentro de la empresa.
La tabla EMP_ACT
Contiene la informacin de las actividades que estn realizando los
empleados dentro de cada proyecto.
SELECT - Cuestiones Bsicas
Uso:
Se utiliza para obtener informacin de la Base de
datos.
Sintaxis(parcial)
SELECT {* ColumnName, [, . . .] }
FROM TableName [, . . .]
[WHERE Condicion1 [ [OR AND ] Condicion2] [, . .
.] ]
[ORDER BY columnName [ASC DESC] ]
Ejemplos
Ejemplo1:listartodoslosdepartamentosdelaempresa.
sql>select*fromdepartment;
+--------+-----------------------------+----------------+--------------+
|DEPTNO|DEPTNAME |MGRNO|ADMRDEPT|LOCATION|
+----------+---------------------------+----------------+--------------+
|A00 |SPIFFYCOMPUTERSERVICEDIV. |000010|A00|NULL|
|B01 |PLANNING |000020 |A00|NULL|
|C01 |INFORMATIONCENTER |000030 |A00|NULL|
|D01 |DEVELOPMENTCENTER |NULL |A00|NULL|
|D11 |MANUFACTURINGSYSTEMS |000060 |D01|NULL|
|D21 |ADMINISTRATIONSYSTEMS |000070 |D01|NULL|
|E01 |SUPPORTSERVICES |000050 |A00|NULL|
|E11 |OPERATIONS |000090 |E01|NULL|
|E21 |SOFTWARESUPPORT |000100 |E01|NULL|
+--------+------------------------------+--------+----------+---------+
Ejemplo 2: listar los primeros 5 departamentos de la
empresa
sql> select TOP 5 * from department;

+--------+------------------------------+--------+----------+----------+
| DEPTNO | DEPTNAME | MGRNO | ADMRDEPT | LOCATION |
+--------+------------------------------+--------+----------+----------+
| A00 | SPIFFY COMPUTER SERVICE DIV .|000010|A00|NULL |
| B01 | PLANNING |000020 | A00 | NULL |
| C01 | INFORMATION CENTER | 000030 | A00 | NULL |
| D01 | DEVELOPMENT CENTER | NULL | A00 | NULL |
| D11 | MANUFACTURING SYSTEMS|000060 | D01 | NULL |
+--------+------------------------------+--------+----------+----------+
Ejemplo 3: De cada departamento listar su numero de departamento,
su nombre y el numero del departamento a quien le reporta
sql>select deptno, deptname, admrdept from department;
+--------+-----------------------------------------------------+----------+
| deptno | deptname | admrdept |
+-----------+--------------------------------------------------+-----------+
| A00 | SPIFFY COMPUTER SERVICE DIV . | A00 |
| B01 | PLANNING | A00 |
| C01 | INFORMATION CENTER | A00 |
| D01 | DEVELOPMENT CENTER | A00 |
| D11 | MANUFACTURING SYSTEMS | D01 |
| D21 | ADMINISTRATION SYSTEMS | D01 |
| E01 | SUPPORT SERVICES | A00 |
| E11 | OPERATIONS | E01 |
| E21 | SOFTWARE SUPPORT | E01 |
+--------+----------------------------------------------------+-------+
Ejemplo 4: Dado que el reporte anterior muestra la informacin desordenada, se
necesitara mostrar ordenada dicha informacin por el departamento al que le
reportan.
sql> select deptno,deptname,admrdept from department order by admrdept asc;
+--------+------------------------------------------+---------------+
| deptno | deptname | admrdept |
+--------+------------------------------------------+---------------+
| A00 | SPIFFY COMPUTER SERVICE DIV. | A00 |
| B01 | PLANNING | A00 |
| C01 | INFORMATION CENTER | A00 |
| D01 | DEVELOPMENT CENTER | A00 |
| E01 | SUPPORT SERVICES | A00 |
| D11 | MANUFACTURING SYSTEMS | D01 |
| D21 | ADMINISTRATION SYSTEMS | D01 |
| E11 | OPERATIONS | E01 |
| E21 | SOFTWARE SUPPORT | E01 |
+--------+----------------------------------------+-----------------+
Ejemplo 5: Adems de ordenar el reporte anterior por el departamento al
que le reportan, se necesitan ordenar los nombres de los departamentos en
orden descendente.
sql> select deptno,deptname,admrdept from department order by admrdept
asc,deptname desc;
+--------+------------------------------------------------+--------------+
| deptno | deptname |admrdept |
+--------+------------------------------------------------+--------------+
| E01 | SUPPORT SERVICES | A00 |
| A00 | SPIFFY COMPUTER SERVICE DIV. | A00 |
| B01 | PLANNING | A00 |
| C01 | INFORMATION CENTER | A00 |
| D01 | DEVELOPMENT CENTER | A00 |
| D11 | MANUFACTURING SYSTEMS | D01 |
| D21 | ADMINISTRATION SYSTEMS | D01 |
| E21 | SOFTWARE SUPPORT | E01 |
| E11 | OPERATIONS | E01 |
+--------+------------------------------------------------+---------------+
* Suprimiendo valores duplicados

Se eliminan todos los duplicados?


sql> SELECT WORKDEPT, JOB FROM EMPLOYEE
ORDER BY WORKDEPT, JOB;

sql> SELECT DISTINCT WORKDEPT, FROM


EMPLOYEE ORDER BY WORKDEPT, JOB;
* Filtrando la cantidad de registro solicitados
sql> SELECT DEPTNO, ADMRDEPT
FROM DEPARTMENT WHERE ADMRDEPT = A00;

sql> SELECT LASTNAME,EDLEVEL


FROM EMPLOYEE WHERE EDLEVEL >= 19;
* Uso de operadores de comparacin y lgicos
sql> SELECT EMPNO, JOB, EDLEVEL FROM
EMPLOYEE WHERE JOB = ANALYST
AND EDLEVEL = 16;

sql> SELECT EMPNO, JOB, EDLEVEL FROM


EMPLOYEE WHERE JOB = ANALYST
OR EDLEVEL = 16;
* Uso de operadores de comparacin, lgicos y
parntesis
sql> SELECT EMPNO, JOB, EDLEVEL
FROM EMPLOYEE WHERE JOB = ANALYST
AND EDLEVEL = 16
OR EDLEVEL = 18;

sql> SELECT EMPNO, JOB, EDLEVEL


FROM EMPLOYEE
WHERE JOB = ANALYST
AND ( EDLEVEL = 16
OR EDLEVEL = 18);
* Uso del predicado IN
sql> SELECT LASTNAME, EDLEVEL
FROM EMPLOYEE
WHERE EDLEVEL IN (14, 19, 20);

* Uso del predicado BETWEEN


sql> SELECT LASTNAME, EDLEVEL
FROM EMPLOYEE
WHERE EDLEVEL BETWEEN 14 AND 20;
* Uso del predicado NULL
sql> SELECT DEPTNO, DEPTNAME, MGRNO
FROM DEPARTMENT
WHERE MGRNO IS NULL;

* Uso del predicado LIKE


sql> SELECT LASTNAME
FROM EMPLOYEE WHERE LASTNAME LIKE G* ;

Potrebbero piacerti anche