Categorias
SQL

SQL: Paginação, Cláusulas e DTL

Paginação

A paginação no sql funciona como uma forma de limitar o numero de registros retornados e funciona da seguinte forma:

  1. Limit

Exemplo: Exibindo 8 usuarios.

Select usuário from funcionário where salario>1500 limit 8.

  1. Offset

Não exibe registros anteriores ao número informado no offset.

Exemplo: Exibindo os usuários a partir do oitavo registro.

Select usuario from funcionario where salario>1500 offset 8.

Obs.: No mysql o offset não é declarado, mas usado em conjunto com o limit, como mostrado no exemplo a seguir:

Select usuario from funcionario where salario>1500 limit 2, 2.

Cláusulas

São funcionalidades importantes que ajudam a gerenciar os registros, como: Order by, Group by, Max, Min, Desc, que faz a ordem do registro a partir de um campo definido, fazem o agrupamento do(s) campo(s), o valor máximo, o valor mínimo e ordem decrescente, respectivamente.

Exemplo: Retornando valor máximo do salário.

Select max(salario) from usuário.

Exemplo: Exibe nome do usuário por ordem decrescente do id:

Select nome from usuário order by id desc;

Having

Filtro de seleção para categorias que deve ser combinado com o Group By.

Select nome from funcionário group by salario having salario >1500;

Subqueries

Filtro de seleção baseado em uma lista, uma consulta query dentro de outra, podendo assim tornar uma consulta ainda mais específica, como mostrado nos 2 exemplos a seguir com in e not in:

Select nome from funcionário where departamento in (‘ti’,’marketing’);

Select nome from funcionário where departamento in(select departamento from funcionário group by salario having avg(salario)>1500)

Data Control Language

Como já foi dito anteriormente em SQL: conceitos e propriedades, é a linguagem de controle do BD, partindo do princípio da criação de usuários por meio da DDL, pode-se criar ou deletar usuários.

Sintaxe: create ‘nome’ @ ‘maquina de acesso do usuario’

Create user ‘augusto’@’localhost’/ create user ‘augusto’@’%’.

Grant: Libera acesso de bd, tabelas, colunas, registro a um usuário.

Exemplo: Grant all on escola.* to ‘augusto’@’%’.

Revoke: Bloqueia o acesso bd, tabelas, colunas, registro a um usuário.

Exemplo: Revoke all on escola.professor from ‘fernanda’@’%’.