Visualizar ciertos registros usando WHERE en Oracle

En este articulo vamos aprender a visualizar ciertos registros usando where en Oracle de una tabla. Cuando realizamos una consulta usando select podemos indicarle que campos queremos mostrar y de qué tabla, usando el from. Ahora utilizaremos la palabra reservada where para filtrar por un valor de un campo.

Sintaxis

Para filtrar registros utilizamos la cláusula where después del from. Seguido al where le indicaremos el nombre del campo y lo igualaremos a un valor.

Para formar la condición utilizamos operadores relacionales, y operadores lógicos.

select *
from nombreTabla
where condicion
order by campo;

Cuando utilizamos las clausulas select, from, where y order by, la herramienta las evalua en el siguiente orden:

Debido a este orden de evaluación nos podemos encontrar con estas dos casuísticas:

  • Si utilizas un alias en el from podrás utilizarlo en el where, select y order by.
  • Si utilizas un alias en el select no podrás utilizarlo en el where, pero si en el order by.

Además de usar la clausula where junto al select, puedes utilizarlo con las cláusulas delete o update.

Ejemplos

Filtrar campos de texto con el operador relacional =

Cuando en la condición se va a utilizar un campo de texto debes tener en cuenta que es sensible a mayusculas y minúsculas. Debes entrecomillar el texto de la siguiente forma:

select *
from empleados
where nombre = 'Miguel Troyano';

Filtrar campos numéricos con el operador relacional =

Si la condición es sobre un campo numérico no es necesario incluir el número entre comillas.

select *
from empleados
where id_empleado = 2;

Filtrar campos con el operador lógico AND

Si quieres incluir más de una condición y quieres que se cumplan todas puedes utilizar el operador lógico AND. En el siguiente ejemplo puedes observar como hemos filtrado por el id_empleado = 2 y además que su nombre sea Ismael.

select *
from empleados
where id_empleado = 2 and nombre = 'Ismael Troyano';

Filtrar campos con el operador lógico OR

En este otro ejemplo incluimos dos condiciones, pero gracias al operador lógico OR le indicamos que se debe cumplir una condición u otra. El resultado es el siguiente:

select *
from empleados
where id_empleado = 2 or nombre = 'Miguel Troyano';

Ejemplo completo

Copia y pega el siguiente código en tu consola de PostgreSQL y realiza paso a paso leyendo los comentarios.

-- Borramos la tabla por si ya existía
DROP TABLE empleados;

--Creamos la tabla de empleados
CREATE TABLE empleados
(
    id_empleado numeric(2,0),
    id_departamento numeric(2,0),
    nombre character varying(50),
    puesto character varying(50),
    sueldo integer
);

-- Insertamos registros de ejemplo
INSERT INTO empleados  VALUES (1,1,'Miguel Troyano','Analista', 60000);
INSERT INTO empleados  VALUES (2,1,'Ismael Troyano','Analista', 60000);
INSERT INTO empleados  VALUES (3,1,'Jose Troyano','Director', 80000);
INSERT INTO empleados  VALUES (4,1,'Pilar Troyano','Directora', 80000);

-- Mostramos todos los campos y registros
select * 
from empleados

-- Mostramos todos los campos, pero solo de Miguel
select * 
from empleados
where nombre='Miguel Troyano';

-- Mostramos el ID de Miguel
select id_empleado
from empleados
where nombre='Miguel Troyano';

-- Mostramos el nombre del ID 2
select id_empleado
from empleados
where id_empleado =2;

-- Mostramos todos los campos cuando se cumplan las dos condiciones
select *
from empleados
where id_empleado = 2 and nombre = 'Ismael Troyano';

-- Mostramos todos los campos cuando se cumplan cualquiera 
-- de las dos condiciones
select *
from empleados
where id_empleado = 2 or nombre = 'Miguel Troyano';

Escribir un comentario