O comando select do SQL é usado para efetuar consultas no banco de dados. Neste post veremos como usar este comando nos bancos de dados Mysql, SQL Server e Access. Estes bancos por sua vez apresentam algumas diferenças na maneira de entender o select. Vamos lá?
Estrutura do comando select:
Select * FROM empregados
No exemplo acima, usamos as cláusulas Select e From. O * (asterisco) indica que todas as colunas da tabela devem ser retornadas.
Em muitos casos é recomendável selecionar algumas colunas apenas e não todas como no exemplo acima, isto deve ser considerado pois quando o tamanho do banco aumentar as consultas poderão ficar lentas em função do grande volume de informações contida nas tabelas.
SELECT nome,salario, cidade FROM empregados
Para retornar apenas as colunas desejadas, basta indicar os seus nomes na instrução select como no exemplo a seguir, onde selecionamos o nome, salário e cidade.
SELECT nome, data_nascimento As Aniversario, cidade As residenciaFROM empregados
É importante observar que a coluna foi renomeada apenas nesta consulta, mas não houve alteração no nome da coluna no banco de dados.
Concatenamos colunas quando queremos unir o resultado de dois campos em um só. Imagine que numa determinada tabela exista o campo nome, sobrenome, rua e numero da casa, neste caso ao fazermos uma consulta seria interessante concatenat o nome com o sobrenome e a rua com o numero da casa.
O Mysql trata concatenação de forma diferente do SQL Server e do Access, enquanto que no Mysql usamos a função concat(), no SQL Server e no Access fazemos pelo sinal de adição.
Exemplo de concatenação no Mysql:
SELECT concat(nome, ' mora em ', cidade, '/', estadoFROM empregados
Exemplo de concatenação em SQL Server ou Access
SELECT nome + ' mora em ' + cidade + '/' + estadoFROM empregados
O sinal + (mais) indica concatenação e deve ser usado para concatenar colunas ou uma coluna com um texto. Só poderá ser concatenado colunas do tipo texto, caso for necessário concatenar colunas do tipo data ou numérico, é necessário fazer a conversão dessas colunas para texto.
A função CONVERT() do SQL Server é usada para fazer a conversão de valores de uma coluna.
Exemplo 1:
SELECT nome + ' ganha ' + convert(varchar, salario)FROM empregados
Exemplo 2:
SELECT nome + ' nasceu em ' + Convert(VarChar, data_nascimento, 103)FROM empregados
No primeiro caso, estamos convertendo o valor da coluna salário para texto, já que esta coluna é do tipo Decimal.
No segundo exemplo, estamos convertendo o valor de uma coluna do tipo data para texto. Perceba que neste caso usamos o 103 na função, isto é necessário para informarmos que queremos que a data seja convertida no formato dd/mm/aaaa.
Para eliminar linhas duplicadas, usamos a palavra-chave DISTINCT na cláusula SELECT.
SELECT distinct cidadeFROM empregados
No exemplo acima, usamos a palavra-chave distinct na coluna cidade, mas é possível relacionar mais de uma coluna, por exemplo, cidade e estado. Neste caso a combinação das duas colunas deve ser distinta.
Limitar o número de linhas é usado quando não queremos listar todas as linhas de uma tabela, seja pelo volume de linhas ou por não haver necessidade. O Mysql trata esta questão de forma diferente do SQL Server e do Access.
Em SQL Server e Access use o Top para indicar o limite de linhas desejado na consulta.
SELECT top 7 *FROM empregados
Em Mysql use o Limit para indicar o limite de linhas desejado na consulta.
SELECT *FROM empregados limit 0,7
O resultado será o mesmo, porém a leitura pode ser um pouco diferente, já que o top vai pegar as sete primeiras linhas e o limit vai pegar a partir de 0 até 7.
COMPARTILHE: Facebook Twitter WhatsApp