Blogia
MeSeminary

Restricción y Ordenación de Datos "Capitulo II"

Restricción y Ordenación de Datos

En este capitulo trataremos todo lo relacionado a:

  • Limitacion de Filas recuperadas por una consulta
  • Ordenación de Filas recuperadas por una consulta

 

1. Limitación Filas Seleccionadas

• Restrinja las filas devueltas utilizando la cláusula
WHERE.
• La cláusula WHERE sigue a la cláusula FROM.
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];

 

 

2. Uso de la Cláusula WHERE



SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90 ;


 

3.Cadenas de Caracteres y Fechas


• Las cadenas de caracteres y los valores de fechas se
escriben entre comillas simples.
• Los valores de caracteres son sensibles a
mayúsculas/minúsculas y los de fecha, al formato.
• El formato de fecha por defecto es DD-MON-RR.
SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = ’Whalen’;


 

4. Condiciones de Comparación



Operadores: (=, >, >=, <, <=, <>)
Significado: (Igual que, Mayor que, Mayor o igual que, Menor que, Menor o igual que).

SELECT last_name, salary
FROM employees
WHERE salary <= 3000;

 

5.Condiciones de Comparación


Operador                    Significado


BETWEEN
...AND...     (Entre dos valores (ambos inclusive),
IN(set)       (Coincide con cualquiera de una lista de valores)
LIKE           (Coincide con un patrón de caracteres)
IS NULL      (Es un valor nulo).

Ejemplo:  SELECT last_name, salary
              FROM employees
             WHERE salary BETWEEN 2500 AND 3500;


 

6. Uso de Condición IN



SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100, 101, 201);


 

7. Uso de Condición Like


SELECT first_name
FROM employees
WHERE first_name LIKE ’S%’;

Puede utilizar el identificador ESCAPE para buscar los
símbolos % y _ reales.

 

8. Uso de condiciones NULL


SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL;

 

9. Condiciones Logicas


Operador                       Significado
   AND             Devuelve TRUE si las dos condiciones
                      componentes son verdaderas.
    OR              Devuelve TRUE si alguna de las
                      condiciones componentes es verdadera.
   NOT             Devuelve TRUE si alguna de las
                      condiciones componentes es verdadera.

 


10. Uso del Operador AND


SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >=10000
AND job_id LIKE ’%MAN%’;

 

11. Uso del Operador OR


SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE ’%MAN%’;

 

12. Uso del Operador NOT


SELECT last_name, job_id
FROM employees
WHERE job_id
NOT IN (’IT_PROG’, ’ST_CLERK’, ’SA_REP’);


 

13. Clausula Order By


Ordene filas con la cláusula ORDER BY
– ASC: orden ascendente, por defecto
– DESC: orden descendente
• La cláusula ORDER BY aparece en último lugar en la sentencia SELECT.

SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date ;


 

Ejemplo 2: SELECT last_name, job_id, department_id, hire_date
                FROM employees
                ORDER BY hire_date DESC ;

 

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

EJERCICIOS


select sysdate as fecha
from dual ;

seleccione los campoy y al salario increntelo con el 15% y redondee el salariy

select employee_id, last_name, salary as salario,round (salary*0.15) as "new salary"
from employees;

Agrege una columba con  el inbremento del salaro

select employee_id, last_name, salary as salario,(salary +(salary*0.15)) as "nuevo salario ", (salary*0.15) as incremento  
from employees;

Muestre el aplellido la primera en mayuscual y las demas en minusculas y muestre su tamaño de caracteres de los  empleados q inician con A, J, M

select INITCAP (last_name), length (last_name) as tamaño  
from employees  
where last_name like ’J%’ or last_name like ’A%’ or last_name like ’M%’;

Muestra los empleados contradados desde la fecha de inicio hasta hoy em meses

select last_name,  trunc (months_between  (sysdate , hire_date)) as "meses trabajados"
from employees;

Concatene con || el apellido el salario y la frace pero le gustaria ganar y multiplique el salario por 3

select last_name || ’ gana $’||salary || ’ ’||’pero le gustaria ganar’|| ’ $’ || (salary*3) as "salario soñado"
from employees;

Muestra el apellido, el salario formateado con * hasta completar 15 caracteres.

select last_name, lpad (salary, 15, ’*’)
from employees;

select last_name, hire_date,to_char ( next_day( add_months (hire_date, 6),’lunes’), ’fmday ",the" ddspth "of" month "," yyyy’)
from employees;

select last_name, hire_date, day hire_date
from employees;