Paginação
A paginação no sql funciona como uma forma de limitar o numero de registros retornados e funciona da seguinte forma:
- Limit
Exemplo: Exibindo 8 usuarios.
Select usuário from funcionário where salario>1500 limit 8.
- 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’@’%’.