SQL e JDBC: Consultas, Funções e Conexão com Banco de Dados

Computação3,4 KB

Consultas SQL e JDBC: Funções, Exemplos e Conceitos

Mostrar funcionários com nome, data de admissão, salário e nome do departamento cujo nome comece com a letra A:

SELECT e.ename, e.hiredate, e.sal, d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno WHERE e.ename LIKE 'A%';

Crie uma consulta que exiba o nome do funcionário com a primeira letra maiúscula e as demais minúsculas (INITCAP):

SELECT INITCAP(ename) AS nome, INSTR(ename, 'A') FROM emp;

Exiba o nome e o ano de admissão de cada funcionário admitido em 1982 (TO_CHAR):

SELECT ename, TO_CHAR(hiredate, 'YYYY') AS ano_admissao FROM emp WHERE TO_CHAR(hiredate, 'YYYY') = '1982';

TO_DATE: INSERT INTO empregados (codigo, nome, dt_nasc, funcao, cod_depto, salario, codchefe) VALUES (9, 'Rivaldo da Silva', TO_DATE('14/04/1983', 'DD/MM/YYYY'), 'analista', 10, 5000, 4);

SELECT * FROM empregados WHERE codigo = 9;

TO_NUMBER: SELECT * FROM table1 WHERE TO_NUMBER(testcol) = 1234;

Crie uma consulta para exibir o cargo e a quantidade de pessoas em cada função (COUNT):

SELECT job, COUNT(deptno) FROM emp GROUP BY job;

Liste o menor e o maior salário de cada cargo (MAX, MIN e GROUP BY):

SELECT job, MAX(sal), MIN(sal) FROM emp GROUP BY job;

Subqueries: SELECT lista_de_selecao FROM tabela WHERE operador expr (SELECT lista_de_selecao FROM tabela);

UPPER: SELECT codigo_cliente, nome_cliente, sobrenome_cliente FROM tabela_clientes WHERE UPPER(sobrenome_cliente) = 'SILVA';

LOWER: SELECT codigo_cliente, nome_cliente, sobrenome_cliente FROM tabela_clientes WHERE LOWER(sobrenome_cliente) = 'silva';

Crie uma consulta que apresente o maior, o menor e a média do salário por departamento:

SELECT MAX(sal), MIN(sal), TRUNC(AVG(sal)) FROM emp GROUP BY deptno;

JDBC

JDBC consiste em uma biblioteca implementada em Java que disponibiliza classes e interfaces para o acesso ao banco de dados.

Arquitetura JDBC

1º o código Java chama a biblioteca JDBC; 2º o JDBC carrega um driver; 3º o driver conversa com um BD; 4º podemos ter mais de um driver, ou mais de um BD; 5º podemos trocar o BD sem precisar alterar o código da aplicação.

Tipos de JDBC

Driver nativo: converte as chamadas JDBC diretamente no protocolo do BD e é implementado na linguagem Java.

Try/catch

Try/catch é um tratamento de erro: o bloco try recebe o valor, processa e verifica se está errado; o bloco catch apresenta ao usuário uma mensagem mais amigável.

Classes e Interfaces

DriverManager: responsável por criar uma conexão com o BD a partir de um driver específico. Ex.: MySQL, Oracle, DB2, Sybase.

Connection: classe responsável por manter uma conexão aberta com o banco. Ex.: commit, rollback, close.

Statement: gerencia e executa instruções SQL. Ex.: executeUpdate.

PreparedStatement: gerencia e executa instruções SQL, permitindo também a passagem de parâmetros em uma instrução. Ex.: execute, setDate, setInt, setString.

Baixar

PDF Word HTML