Esse capitulo trata de duas clausulas do SELECT, o WHERE (restrição) e o ORDER BY (ordenação);

Curiosidades:

  • O WHERE também pode/deve ser usado com o UPDATE e o DELETE;
  • O WHERE pode referenciar qualquer coluna da tabela, mesmo não estando no SELECT;
  • Na clausula WHERE podemos usar comparação com expressões, dois campos da própria tabela junto com os operadores ( = , >= , > , <= , < , != OU OU ^= , IN , LIKE);
  • As buscas em Oracle são Case Sentive, ou seja, ‘Teste’ ‘TESTE’;
  • Nas buscas com LIKE podemos usar dois simbolos: % e o _, o primeiro pega tudo após a utilização e o segundo somente uma posição, exemplo: LIKE ‘TE%’ / LIKE ‘TEST_’, em ambos traz o resultado (se tiver na tabela) TESTE;
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVEVTVF8nOwoKU2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVF8nOwotLSBWYXppbwoKU2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVCUnOw==” hover_enabled=”0″]U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVEVTVF8nOwoKU2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVF8nOwotLSBWYXppbwoKU2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICdURVNURScgTGlrZSAnVCUnOw==[/et_pb_dmb_code_snippet]
  • Os operadores logicos do WHERE são as condições AND e OR, que ainda podem ser acrescidas de NOT, negação;
  • A ordem de precedência dos operadores logicos são: NOT, AND e OR;
    Se existir os parentestes ( ) ele será o primeiro de todos na ordem de precedência;
  • O NULL é a ausência de valor, as clusulas para serem usadas com NULL são IS NULL ou IS NOT NULL, exemplo:
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICcnIElzIE51bGw7CgpTZWxlY3QgJ1RFU1RFJwpGcm9tIER1YWwKV2hlcmUgJycgSXMgTm90IE51bGw7″ hover_enabled=”0″]U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCldoZXJlICcnIElzIE51bGw7CgpTZWxlY3QgJ1RFU1RFJwpGcm9tIER1YWwKV2hlcmUgJycgSXMgTm90IE51bGw7[/et_pb_dmb_code_snippet]
  • O ORDER BY pode ser referenciado pelo NOME_DA_COLUNA ou mais de um separado por virgula, pode ou não utilizar ASC ou DESC (default é ASC);
  • Dentro do ORDER BY pode ser utilizado Expressões ou ALIAS ou Posição e/ou a combinação desses;
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCk9yZGVyIEJ5IDE7CgpTZWxlY3QgJ1RFU1RFJyBBcyBhCkZyb20gRHVhbApPcmRlciBCeSBhIERlc2M7CgpTZWxlY3QgJ1RFU1RFJwpGcm9tIER1YWwKT3JkZXIgQnkgJ1RFU1RFJyBBc2M7Cgo=” hover_enabled=”0″]U2VsZWN0ICdURVNURScKRnJvbSBEdWFsCk9yZGVyIEJ5IDE7CgpTZWxlY3QgJ1RFU1RFJyBBcyBhCkZyb20gRHVhbApPcmRlciBCeSBhIERlc2M7CgpTZWxlY3QgJ1RFU1RFJwpGcm9tIER1YWwKT3JkZXIgQnkgJ1RFU1RFJyBBc2M7Cgo=[/et_pb_dmb_code_snippet]
  • O ORDER BY com Null sempre que ele existir será no final do SELECT, exemplo:
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”U2VsZWN0ICoKRnJvbSAoU2VsZWN0ICdURVNURScKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJycKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJycKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJ1RFU1RFMicKRnJvbSBEdWFsKQpPcmRlciBCeSAxIEFzYzs=” hover_enabled=”0″]U2VsZWN0ICoKRnJvbSAoU2VsZWN0ICdURVNURScKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJycKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJycKRnJvbSBEdWFsClVuaW9uIEFsbApTZWxlY3QgJ1RFU1RFMicKRnJvbSBEdWFsKQpPcmRlciBCeSAxIEFzYzs=[/et_pb_dmb_code_snippet]

QUESTÕES:

1 –
Os SQLs abaixo executam?

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”U2VsZWN0IOKAmFRFU1RF4oCZCkZyb20gRHVhbApXaGVyZSDigJhURVNUReKAmSA9IE51bGw7CgpTZWxlY3Qg4oCYVEVTVEXigJkKRnJvbSBEdWFsCldoZXJlIE51bGwgPSBOdWxsOwoKU0lNIE5BTwpOQU8gTkFPClNJTSBTSU0KTkFPIFNJTQ==” hover_enabled=”0″]U2VsZWN0IOKAmFRFU1RF4oCZCkZyb20gRHVhbApXaGVyZSDigJhURVNUReKAmSA9IE51bGw7CgpTZWxlY3Qg4oCYVEVTVEXigJkKRnJvbSBEdWFsCldoZXJlIE51bGwgPSBOdWxsOwoKU0lNIE5BTwpOQU8gTkFPClNJTSBTSU0KTkFPIFNJTQ==[/et_pb_dmb_code_snippet]

Respostas no próximo post.

Book: SQL Certified Expert Exam Guide, Steve O’Hearn pela Oracle Press
Link Book na Amazon