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';