mustats
Páginas: 7 (1589 palabras)
Publicado: 30 de marzo de 2013
El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La
idea es que, estando conectado a sql*plus, lea este material mientras ejercita
simultáneamente cada una de las distintas modalidades del comando SELECT descritas a
continuación.
A lo largo de este material se hace referencia a las tablas de departamento (DEPT) y
empleado(EMP) de una empresa, usadas en los tutoriales de los productos de ORACLE
y pertenecienes al usuario con username: scott y password: tiger. Para conocer cómo están
formadas estas tablas puede usar, conectado como el usuario scott, el comando describe
(desc). Por ejemplo:
desc emp;
desc dept;
PARTE I. El comando básico.
Una instrucción SELECT es utilizada para recuperar o mostrar datos de unatabla de la
base de datos. Debe contener una cláusula FROM. Por ejemplo para obtener todas las
columnas de una tabla:
select * from dept;
Para ejecutar cualquier comando en el interpretador de sql*plus recuerde terminar sus
instrucciones con punto y coma (;) o bien ingresar un slash (/) en una línea en blanco, si
bien estos caracteres no son parte de la instrucción.
Para listar columnasespecíficas de una tabla, indique los nombres de esas columnas,
separados por comas (,):
select deptno, dname
from dept;
La cláusula DISTINCT es empleada para suprimir valores duplicados en una columna (o
columnas) seleccionada(s). Por ejemplo:
select distinct job from emp;
Para constatar el efecto de la palabra DISTINCT ingrese el mismo comando sin esta cláusula
( select job from emp ).Como se indicó, DISTINCT aplica para toda la fila seleccionada (con algunas
limitaciones). Compare el efecto de las siguientes instrucciones:
select deptno, job from emp;
select DISTINCT deptno, job from emp;
¿Qué información obtiene al ejecutar este último comando ?
La cláusula WHERE es empleada para especificar qué filas deben ser seleccionadas.
Funciona como una especie de filtro delconjunto de filas a ser retornadas. Por ejemplo:
select ename, sal from emp
where deptno = 20;
Es posible usar los operadores =, < , >, < =, =>. Recuerde que:
o Las columnas especificadas en la cláusula WHERE deben ser parte de la tabla
especificada en la clausula FROM; (2) las columnas indicadas en la clausula
WHERE no tienen que estar referenciadas en la cláusula SELECT.
o Las comparaciones decolumnas tipo caracter requieren comillas simples alrededor
de los datos, las comparaciones numéricas no. Ejemplo:
...where ename = 'SMITH'
...where sal = 2000
o El lenguaje es case sensitive para los valores de los atributos.
Algunos ejercicios:
1. Listar la información de todos los empleados de la tabla emp.
2. Listar el número, nombre, nombre del cargo y fecha de contratación de losempleados
del departamento 10.
3. Seleccionar el nombre y sueldo de los empleados que son oficinistas (clerks).
4. Seleccionar el nombre, cargo y sueldo de los empleados contratados el 17 de
Diciembre de 1980. ¿ Cómo preguntar por campos del tipo DATE ?
Las expresiones aritméticas pueden aparecer tanto en la cláusula FROM como en la cláusula
WHERE. Por ejemplo:
select ename, job, sal* 0.1
fromemp;
selecciona el nombre y el trabajo de cada empleado y además devuelve el 10% de su salario.
select deptno, ename, job
from emp
where comm > 0.25*sal;
selecciona aquellos empleados cuya comisión es mayor al 25% de su sueldo (salario).
Es posible usar los operadores lógicos AND y OR, así como los paréntesis para construir
expresiones lógicas más elaboradas. Las reglas convencionales deprecedencia de
operadores aplican también en SQL.
Los operadores IN y NOT IN extienden la potencialidad para formular queries más
elaborados. Estos operadores son especialmente importantes al momento de formular
consultas anidadas. Ejemplo:
where loc not in ('CHICAGO','DALLAS','BOSTON')
where loc in ( select distinct loc
from location
where country = ‘USA’)
El operador BETWEEN es...
Leer documento completo
Regístrate para leer el documento completo.