Cláusulas de Oracle - Guía de las 9 cláusulas principales de Oracle (ejemplo)

Tabla de contenido:

Anonim

Introducción a las cláusulas de Oracle

Las cláusulas en Oracle son como palabras clave que se usan para un propósito específico o que especifican el significado especial. Algunas de las cláusulas en Oracle son obligatorias y algunas de las cláusulas son opcionales.

La lista de la cláusula que está presente en Oracle se da a continuación:

  • Cláusula FROM: es una parte obligatoria en una cláusula SelectThe FROM que especifica el nombre de una tabla desde la que se debe acceder a los datos.
  • Cláusula CONSTRAINT: es una cláusula opcional de una sentencia CREATE TABLE. Una cláusula CONSTRAINT define una regla que debe cumplirse al insertar los datos.
  • Cláusula WHERE: es una cláusula opcional de una instrucción Select o actualización o DELETE. La cláusula WHERE especifica qué filas se deben seleccionar en función de una condición.
  • Cláusula ORDER BY: es una cláusula opcional de la instrucción select o una instrucción CREATE VIEW o una instrucción INSERT. Una cláusula ORDER BY especifica en qué orden aparecerán las filas del conjunto de resultados.
  • Cláusula FOR UPDATE: es una cláusula opcional de una instrucción SELECT. Los cursores son, por defecto, de solo lectura. El cursor debe ser actualizable, se especifica en la cláusula FOR UPDATE, la cláusula FOR UPDATE impone una instrucción check SELECT durante la compilación para cumplir con la condición de que un cursor sea actualizable.
  • Cláusula GROUP BY: es una cláusula opcional de una instrucción Select, la cláusula GROUP BY subdivide un resultado en grupos.
  • Cláusula HAVING: es una cláusula opcional de una sentencia select. La cláusula HAVING restringe la selección de grupo que son los resultados de una cláusula GROUP BY.
  • El resultado compensa y recupera las primeras cláusulas: la cláusula de desplazamiento del resultado se usa para omitir las N primeras filas y seleccionar las filas restantes como un conjunto de resultados. El uso de la primera cláusula fetch junto con la cláusula de desplazamiento del resultado para limitar el número de filas seleccionadas en el conjunto de resultados.
  • Cláusula USING: es una cláusula obligatoria en la operación de unión . La cláusula USING muestra qué igualdad de columnas se debe verificar para unir las dos tablas.
  • WHERE CURRENT OF Cláusula: es una cláusula opcional en una declaración de eliminación o ACTUALIZACIÓN. La cláusula WHERE CURRENT OF especifica la ubicación que se elimina en los cursores actualizables o en las actualizaciones.

Lista de la cláusula de Oracle

A continuación, comprendamos cada cláusula en detalles:

1. Cláusula FROM

La cláusula FROM es una parte obligatoria en una instrucción Select. La cláusula FROM especifica el nombre de las tablas desde donde los datos o las columnas deben ser accesibles para su uso en expresiones seleccionadas.

Sintaxis de la cláusula FROM

FROM Table1 (, Table2 ) *

Ejemplos de consultas

Select * from employee ;

Ejemplo de consulta con condición de cláusula where

select d.dep_id
from department as d
where dep_id< 10

Ejemplo de consulta con una orden por cláusula

select st .tablename, sc .isindex
from sys.systables st, sys.sysconglomerates sc
where st.tableid = sc.tableid
order by tablename, isindex

Ejemplo de consulta con una condición de unión

select *
from flights f, flightavailability fa
where fa.flight_id = f.flight_id
and fa.segment_number = f.segment_number
and f.flight_id < 115

2. Cláusula de restricción

La cláusula CONSTRAINT es una cláusula opcional de una instrucción CREATE TABLE. Una cláusula CONSTRAINT define una regla que debe cumplirse al insertar los datos.

Las RESTRICCIONES son diferentes en un nivel diferente, como se indica a continuación:

1. Columna - restricción de nivel

Las restricciones de nivel de columna imponen la regla a una sola columna en la tabla. La columna - las restricciones de nivel se dan a continuación -

  • NOT NULL: especifica que la columna no puede almacenar valores NULL.
  • CLAVE PRIMARIA: Especifica que los valores de la columna deben ser únicos, que luego se pueden usar para identificar una fila en la tabla. La PRIMARY KEY especifica implícitamente NOT NULL.
  • ÚNICO: especifica que los valores de columna deben ser únicos.
  • CLAVE EXTRANJERA: especifica que los valores de columna deben referenciarse como la clave primaria.
  • COMPROBAR: especifica reglas para los valores de columna.
2. Restricción a nivel de tabla

Las restricciones a nivel de tabla imponen la regla a una o más columnas de la tabla. Las restricciones a nivel de tabla son las mismas que las restricciones a nivel de columna, pero la diferencia es donde se especifica la restricción.

Ejemplos de consultas

Ejemplo de restricción de clave primaria a nivel de columna denominada did_pk -

create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
) ;

Ejemplo de restricción de clave primaria a nivel de tabla denominada did_pk

create table department
(
Deptid number constraint did_pk primary key,
Dname char(10),
Location char(80) not null,
primary key (Deptid)
);

3. DONDE Cláusula

Esta es una cláusula opcional de una declaración de selección o una declaración de actualización o una declaración DELETE. La cláusula WHERE especifica qué filas se deben seleccionar en función de una condición. Solo esas filas devuelven o eliminan o actualizan donde la condición o expresión se evalúa como VERDADERO.

Sintaxis de la cláusula Where

WHERE Booleanexpression

Ejemplo

Ejemplo de cláusula where

select *
from flight
where business_taken_seats is null
or business_taken_seats = 0

Ejemplo de cláusula where para unir varias tablas

select a.*, last name
from emp_act as a, employee as e
where a.empno = e.empno ;

4. Cláusula ORDER BY

Una cláusula ORDER BY es una cláusula opcional de la instrucción SELECT o una instrucción CREATE VIEW o una instrucción INSERT o una subconsulta escalar o una subconsulta de tabla. La cláusula especifica el orden en que aparecerán las filas del conjunto de resultados.

Sintaxis de la cláusula ORDER BY

ORDER BY ( columnName | Expression | ColumnPosition )
( ASC (default) | DESC ) ;

ColumnName Se refiere a los nombres de columna por los cuales el resultado se establece en orden. ColumnPosition es un número entero que especifica la posición de la columna en Seleccionar elementos en la consulta de la instrucción SELECT. La expresión es numérica, datetime y expresiones de cadena. El ASC especifica el orden ascendente. El DES especifica el orden descendente.

Ordenar por ejemplo con un nombre de correlación

En la siguiente declaración de selección, la columna de ubicación tiene el nombre del país de correlación que se utiliza en el orden de la cláusula:

Select name, location as country
From employee
Order by country

Ordenar por ejemplo con una expresión numérica

En la siguiente declaración de selección, el orden por cláusula usa la expresión salario + caminata -

Select name, salary, hike from emp
Order by salary + hike

Ordenar por ejemplo con una función

En la siguiente declaración de selección, el orden por cláusula utiliza la función para especificar la posición:

Select a, len from calculation
Order by sin(a)

Ordenar por ejemplo especificando con ordenamiento nulo

Puede especificar la posición de los valores nulos utilizando la especificación de orden nula:

Select * from table1 order by column1 asc nulls last

5. PARA LA CLÁUSULA DE ACTUALIZACIÓN

La cláusula FOR UPDATE impone una instrucción check SELECT durante la compilación para cumplir con la condición de que un cursor sea actualizable.

Sintaxis de la cláusula FOR UPDATE

FOR
(
FETCH ONLY | READ ONLY | UPDATE ( OF columnName (, columnName)* ) )

ColumnName especifica en la cláusula FROM de la consulta.

Ejemplo de cláusula FOR UPDATE

select eid, name, salary, deptid from emphist for update

6. Cláusula GROUP BY

Esta cláusula devuelve un subconjunto de resultados de grupos.

Sintaxis de la cláusula GROUP BY

GROUP BY
(
columnName (, columnName )*
|ROLLUP ( column-Name (, column-Name )* )
)

Ejemplos

Encuentre el salario promedio de un empleado agrupado por departamento

select avg (salary), deptid
from employee
group by deptid ;

select max (salary), deptid
from employee
group by deptid ;

7. TENIENDO cláusula

La cláusula HAVING restringe la selección de grupo definida por la cláusula GROUP BY.

Sintaxis de la cláusula HAVING

HAVING Condition

El ejemplo de la cláusula HAVING restringe la selección de grupo para promedio (salario) -

select avg (salary), deptid
from employee
group by deptid having avg(salary) > 50000;

La consulta a continuación es ilegal porque la columna deptid no es una columna de agrupación:

select avg (salary), deptid
from employee
group by deptid having deptid > 5;

El resultado compensa y obtiene las primeras cláusulas

El resultado compensar y buscar las primeras cláusulas se utilizan para omitir las N primeras filas y recuperar la primera cláusula se usa para limitar el número de filas seleccionadas en el conjunto de resultados.

Sintaxis del resultado offset y captar las primeras cláusulas:

OFFSET ( integer ) (ROW | ROWS)
FETCH ( FIRST | NEXT ) ( integer ) (ROW | ROWS) ONLY

Ejemplos

Obtener la primera fila de T

Select * from employee fetch the first row only

8. Cláusula de uso

La cláusula de uso se usa para unir las dos tablas según la condición.

Sintaxis de usar cláusula

Using ( columnname (, columnname )* )

Ejemplos

En el ejemplo, la tabla de países y la tabla de ciudades se unen con la condición de ciudades.país es igual a países. país -

Select * from employee join department
using (eid)

9. DONDE CORRIENTE DE Cláusula

La cláusula WHERE CURRENT OF especifica la ubicación que se elimina en los cursores actualizables o en las actualizaciones.

La sintaxis de la cláusula WHERE CURRENT OF

WHERE CURRENT OF cursorName

Ejemplo

Statement stmt = conn.createStatement();
stmt.setCursorName("employeeres");
ResultSet res = conn.executeQuery(
"SELECT ename, salary FROM employee FOR UPDATE OF salary");
Statement stmt1 = conn.createStatement();
stmt1.executeUpdate("UPDATE employee SET salary = salary +10000 WHERE CURRENT
OF employeeres");

Artículos recomendados

Esta es una guía de las cláusulas de Oracle. Aquí discutimos la Cláusula de la Lista de los Oráculos con los ejemplos y la sintaxis con los resultados respectivos. Las cláusulas en el oráculo son palabras clave que se usan con el propósito específico o que especifican el significado especial. También puede consultar nuestros otros artículos sugeridos para obtener más información. -

  1. Oracle Warehouse Builder
  2. ¿Qué es la base de datos Oracle?
  3. Carrera en Oracle
  4. Carrera en Oracle Database Administrator