Oracle/PLSQL: instrucción SELECCIONAR

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: instrucción SELECCIONAR

Este tutorial de Oracle describe cómo usar Oracle declaración de selección Viene con gramática, ejemplos y ejercicios.

describir

La instrucción Oracle SELECT se usa para recuperar registros de una o más tablas en una base de datos Oracle.

sintaxis

La sintaxis de una instrucción SELECT en Oracle/PLSQL es:

SELECT expressions
FROM tables
[WHERE conditions];

parámetro o parámetro

Expresión La columna o cálculo que desea recuperar. Utilice * si desea seleccionar todas las columnas. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Para seleccionar las condiciones que debe cumplir un registro. Si no se proporcionan condiciones, se seleccionarán todos los registros.

Ejemplo: seleccionar todos los campos de una tabla

Veamos cómo seleccionar todos los campos de una tabla usando una consulta Oracle SELECT.

SELECT *
FROM homes
WHERE bathrooms >= 2
ORDER BY home_type ASC;

En este ejemplo de instrucción Oracle SELECT, usamos * para indicar que queremos seleccionar todos los campos de la tabla de inicio con una cantidad de baños mayor o igual a 2. El conjunto de resultados se ordena en orden ascendente por home_type.

Ejemplo: seleccione un solo campo de una tabla

También puede usar la declaración SELECT de Oracle para seleccionar un solo campo de una tabla en lugar de todos los campos de la tabla.

Por ejemplo:

SELECT home_id, home_type, bathrooms
FROM homes
WHERE home_id < 500
AND home_type="two-storey"
ORDER BY home_type ASC, bathrooms DESC;

Este ejemplo de Oracle SELECT solo devolverá los campos home_id, home_type y bathroom de la tabla de inicio con un home_id inferior a 500 y un home_type de “dos niveles”. Los resultados se ordenan por tipo_de_casa de forma ascendente y luego por baño de forma descendente.

Ejemplo: seleccionar campos de varias tablas

También puede utilizar la sentencia SELECT de Oracle para recuperar campos de varias tablas a través de uniones.

SELECT homes.home_id, customers.customer_name
FROM customers
INNER JOIN homes
ON customers.customer_id = homes.customer_id
ORDER BY home_id;

Este ejemplo de Oracle SELECT une las dos tablas, brindándonos un conjunto de resultados que muestra los campos home_id y customer_name, donde el valor de customer_id coincide en las tablas de clientes y de inicio. Los resultados se ordenan por home_id en orden ascendente.

Ejercicio 1:

De acuerdo con la siguiente tabla de contactos, seleccione de la tabla de contactos todos los campos cuyo apellido sea ‘Smith’, contact_id sea mayor o igual a 1000 y contact_id sea menor o igual a 2000 (no es necesario ordenar):

CREATE TABLE contacts
( contact_id number(10) not null,
  last_name varchar2(50) not null,
  first_name varchar2(50) not null,
  address varchar2(50),
  city varchar2(50),
  state varchar2(2),
  zip_code varchar2(10),
  CONSTRAINT contacts_pk PRIMARY KEY (contact_id)
);

Solución al Ejercicio #1:

La siguiente instrucción Oracle SELECT seleccionará estos registros de la tabla de empleados:

SELECT *
FROM contacts
WHERE last_name="Smith"
AND contact_id >= 1000
AND contact_id <= 2000;

O puede escribir su solución usando la cláusula BETWEEN de esta manera:

SELECT *
FROM contacts
WHERE last_name="Smith"
AND contact_id BETWEEN 1000 AND 2000;