Introdução às Cláusulas Oracle

Cláusulas no oracle são como palavras-chave usadas para fins específicos ou que especificam o significado especial. Algumas das cláusulas no oracle são obrigatórias e algumas são opcionais.

A lista da cláusula que está presente no oracle é fornecida abaixo -

  • Cláusula FROM: é uma parte obrigatória da cláusula SelectThe FROM especifica o nome de uma tabela da qual os dados devem estar acessíveis.
  • Cláusula CONSTRAINT: É uma cláusula opcional de uma instrução CREATE TABLE. Uma cláusula CONSTRAINT define uma regra que deve ser satisfeita ao inserir os dados.
  • Cláusula WHERE: É uma cláusula opcional de uma instrução Select ou update, ou DELETE. A cláusula WHERE especifica quais linhas devem ser selecionadas com base em uma condição.
  • Cláusula ORDER BY: É uma cláusula opcional da instrução select ou CREATE VIEW ou INSERT. Uma cláusula ORDER BY especifica em que ordem as linhas do conjunto de resultados serão exibidas.
  • Cláusula FOR UPDATE: É uma cláusula opcional de uma instrução SELECT. Os cursores são por padrão somente leitura. O cursor deve ser atualizável, especifica na cláusula FOR UPDATE, a cláusula FOR UPDATE impõe uma instrução check SELECT durante a compilação para atender à condição de atualização do cursor.
  • Cláusula GROUP BY: é uma cláusula opcional de uma instrução Select, a cláusula GROUP BY subconecta um resultado em grupos.
  • Cláusula HAVING: É uma cláusula opcional de uma instrução select. A cláusula HAVING restringe a seleção do grupo, que é o resultado de uma cláusula GROUP BY.
  • O deslocamento de resultado e busca primeiro Cláusulas: A cláusula de deslocamento de resultado é usada para pular as N primeiras linhas e selecionar as linhas restantes como um conjunto de resultados. A primeira cláusula de busca é usada junto com a cláusula de deslocamento do resultado para limitar o número de linhas selecionadas no conjunto de resultados.
  • Cláusula USING: É uma cláusula obrigatória na operação de junção . A cláusula USING mostra quais igualdade de colunas devem ser verificadas para unir as duas tabelas.
  • Cláusula WHERE CURRENT OF: É uma cláusula opcional em uma instrução delete ou UPDATE. A cláusula WHERE CURRENT OF especifica o local que é excluído nos cursores atualizáveis ​​ou nas atualizações.

Cláusula Lista da Oracle

Em seguida, vamos entender cada cláusula em detalhes -

1. Cláusula FROM

A cláusula FROM é uma parte obrigatória em uma instrução Select. A cláusula FROM especifica o nome das tabelas de onde os dados ou colunas devem estar acessíveis para uso em expressões selecionadas.

Sintaxe da cláusula FROM

FROM Table1 (, Table2 ) *

Exemplos de consulta

Select * from employee ;

Exemplo de consulta com a condição da cláusula where

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

Exemplo de consulta com uma cláusula order by

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

Exemplo de consulta com uma condição de junção

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 restrição

A cláusula CONSTRAINT é uma cláusula opcional de uma instrução CREATE TABLE. Uma cláusula CONSTRAINT define uma regra que deve ser satisfeita ao inserir os dados.

Os CONSTRAINTs são diferentes em um nível diferente, conforme indicado abaixo -

1. Restrição de nível de coluna

As restrições no nível da coluna aplicam a regra a uma única coluna na tabela. As restrições no nível da coluna são fornecidas abaixo -

  • NOT NULL: especifica que a coluna não pode armazenar valores NULL.
  • CHAVE PRIMÁRIA: especifica que os valores da coluna devem ser exclusivos, que podem ser usados ​​para identificar uma linha na tabela. A PRIMARY KEY especifica implicitamente NOT NULL.
  • ÚNICO: especifica que os valores da coluna devem ser exclusivos.
  • CHAVE ESTRANGEIRA: especifica que os valores da coluna devem ser referenciados como a chave primária.
  • VERIFICAÇÃO: especifica regras para os valores da coluna.
2. Restrição no nível da tabela

As restrições no nível da tabela aplicam a regra a uma ou mais colunas na tabela. As restrições no nível da tabela são as mesmas da restrição no nível da coluna, mas a diferença é onde a restrição é especificada.

Exemplos de consulta

Exemplo de restrição de chave primária no nível da coluna denominada did_pk -

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

Exemplo para restrição de chave primária em nível de tabela 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. Cláusula WHERE

Esta é uma cláusula opcional de uma instrução Select ou atualização ou DELETE. A cláusula WHERE especifica quais linhas devem ser selecionadas com base em uma condição. Somente essas linhas retornam ou excluem ou atualizam onde a condição ou expressão é avaliada como TRUE.

Sintaxe da cláusula Where

WHERE Booleanexpression

Exemplo

Exemplo de cláusula Where

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

Exemplo de cláusula Where para associar várias tabelas

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

4. Cláusula ORDER BY

Uma cláusula ORDER BY é uma cláusula opcional da instrução SELECT ou CREATE VIEW ou INSERT ou uma subconsulta escalar ou subconsulta de tabela. A cláusula especifica a ordem em que o resultado define linhas para aparecer.

Sintaxe da cláusula ORDER BY

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

O nome da coluna Refere-se aos nomes de colunas pelos quais o resultado foi definido como ordenado. O ColumnPosition é um número inteiro que especifica a posição da coluna em Selecionar itens na consulta da instrução SELECT. A expressão é expressões numéricas, datetime e string. O ASC Especifica a ordem crescente. O DES especifica a ordem decrescente.

Ordenar por exemplo com um nome de correlação

Na instrução de seleção abaixo, a coluna local possui o nome do país da correlação, usado na cláusula order by -

Select name, location as country
From employee
Order by country

Ordenar por exemplo com uma expressão numérica

Na instrução select abaixo, a cláusula order by usa a expressão salário + aumento -

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

Ordenar por exemplo com uma função

Na instrução select abaixo, a cláusula order by usa a função para especificar a posição -

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

Ordenar por exemplo, especificando com ordenação nula

Você pode especificar a posição dos valores nulos usando a especificação de pedido nulo:

Select * from table1 order by column1 asc nulls last

5. Cláusula FOR UPDATE

A cláusula FOR UPDATE impõe uma instrução check SELECT durante a compilação para atender à condição de um cursor ser atualizável.

Sintaxe da cláusula FOR UPDATE

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

O columnName especifica na cláusula FROM da consulta.

Exemplo de cláusula FOR UPDATE

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

6. Cláusula GROUP BY

Esta cláusula retorna um resultado de subconjunto de grupos.

Sintaxe da cláusula GROUP BY

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

Exemplos

Encontre o salário médio de um funcionário agrupado por deptid

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

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

7. Cláusula HAVING

A cláusula HAVING restringe a seleção de grupo definida pela cláusula GROUP BY.

Sintaxe da cláusula HAVING

HAVING Condition

O exemplo da cláusula HAVING restringe a seleção do grupo por média (salário) -

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

A consulta abaixo é ilegal porque a coluna deptid não é uma coluna de agrupamento -

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

O resultado compensar e buscar as primeiras cláusulas

As cláusulas de deslocamento e busca do resultado são usadas para ignorar as N primeiras linhas e a cláusula de busca pela primeira vez para limitar o número de linhas selecionadas no conjunto de resultados.

Sintaxe de O resultado compensar e buscar as primeiras cláusulas -

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

Exemplos

Buscar a primeira linha de T

Select * from employee fetch the first row only

8. Cláusula Using

A cláusula using usa para unir as duas tabelas com base na condição.

Sintaxe da cláusula using

Using ( columnname (, columnname )* )

Exemplos

No exemplo, a tabela de países e a tabela de cidades se juntam à condição como cities.country é igual a países. país -

Select * from employee join department
using (eid)

9. Cláusula WHERE CURRENT OF

A cláusula WHERE CURRENT OF especifica o local que é excluído nos cursores atualizáveis ​​ou nas atualizações.

A sintaxe da cláusula WHERE CURRENT OF

WHERE CURRENT OF cursorName

Exemplo

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");

Artigos recomendados

Este é um guia para as Cláusulas Oracle. Aqui discutimos a Cláusula da Lista de Oráculos com os exemplos e a sintaxe com os respectivos resultados. Cláusulas no oracle são palavras-chave que são usadas para uma finalidade específica ou que especificam o significado especial. Você também pode consultar nossos outros artigos sugeridos para saber mais. -

  1. Oracle Warehouse Builder
  2. O que é o banco de dados Oracle
  3. Carreira na Oracle
  4. Carreira no Oracle Database Administrator

Categoria: