Instrução MySQL SELECT com exemplos

Índice:

Anonim

O que é a consulta SELECT no MySQL?

SELECT QUERY é usado para buscar os dados do banco de dados MySQL. Bancos de dados armazenam dados para recuperação posterior. O objetivo do MySQL Select é retornar das tabelas do banco de dados, uma ou mais linhas que correspondem a um determinado critério. A consulta selecionada pode ser usada em linguagem de script como PHP, Ruby ou você pode executá-la por meio do prompt de comando.

Sintaxe da instrução SQL SELECT

É o comando SQL usado com mais frequência e tem a seguinte sintaxe geral

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
AQUI
  • SELECT é a palavra-chave SQL que permite ao banco de dados saber que você deseja recuperar os dados.
  • [DISTINTO | ALL] são palavras-chave opcionais que podem ser usadas para ajustar os resultados retornados da instrução SQL SELECT. Se nada for especificado, ALL será considerado o padrão.
  • {* | [fieldExpression [AS newName]} pelo menos uma parte deve ser especificada, "*" selecionou todos os campos do nome da tabela especificada, fieldExpression executa alguns cálculos nos campos especificados, como adicionar números ou juntar dois campos de string em um.
  • FROM tableName é obrigatório e deve conter pelo menos uma tabela, várias tabelas devem ser separadas por vírgulas ou unidas usando a palavra-chave JOIN.
  • A condição WHERE é opcional e pode ser usada para especificar critérios no conjunto de resultados retornado da consulta.
  • GROUP BY é usado para reunir registros que possuem os mesmos valores de campo.
  • A condição HAVING é usada para especificar critérios ao trabalhar com a palavra-chave GROUP BY.
  • ORDER BY é usado para especificar a ordem de classificação do conjunto de resultados.

*

O símbolo Star é usado para selecionar todas as colunas da tabela. Um exemplo de uma instrução SELECT simples se parece com o mostrado abaixo.

SELECT * FROM `members`;

A instrução acima seleciona todos os campos da tabela de membros. O ponto e vírgula é uma terminação de instrução. Não é obrigatório, mas é considerado uma boa prática terminar suas declarações assim.

Exemplos práticos

Clique para baixar o banco de dados myflix usado para exemplos práticos.

Você pode aprender a importar o arquivo .sql para o MySQL WorkBench

Os exemplos são executados nas duas tabelas a seguir

Tabela 1: tabela de membros

número de membro nomes completos Gênero sexual data de nascimento endereço físico endereço postal contct_ number o email
1 Janet Jones Fêmea 21-07-1980 Terreno da primeira rua nº 4 Mala Privada 0759 253 542 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
2 Janet Smith Jones Fêmea 23-06-1980 Melrose 123 NULO NULO Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
3 Robert Phil Masculino 07/12/1989 3rd Street 34 NULO 12345 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
4 Gloria Williams Fêmea 14-02-1984 2nd Street 23 NULO NULO NULO

Tabela 2: tabela de filmes

movie_id título diretor year_released Categoria ID
1 Piratas do Caribe 4 Rob Marshall 2011 1
2 Esquecendo Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULO 2008 NULO
4 Codinome Preto Edgar Jimz 2010 NULO
5 Garotinhas do papai NULO 2007 8
6 Anjos e Demonios NULO 2007 6
7 Código da Vinci NULO 2007 6
9 Honey mooners John Schultz 2005 8
16 67% culpado NULO 2012 NULO

Obtendo lista de membros

Vamos supor que desejamos obter uma lista de todos os membros registrados da biblioteca de nosso banco de dados, usaríamos o script mostrado abaixo para fazer isso.

SELECT * FROM `members`;

Executar o script acima no ambiente de trabalho MySQL produz os seguintes resultados.

número de membro nomes completos Gênero sexual data de nascimento endereço físico endereço postal contct_ number o email
1 Janet Jones Fêmea 21-07-1980 Terreno da primeira rua nº 4 Mala Privada 0759 253 542 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
2 Janet Smith Jones Fêmea 23-06-1980 Melrose 123 NULO NULO Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
3 Robert Phil Masculino 07/12/1989 3rd Street 34 NULO 12345 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
4 Gloria Williams Fêmea 14-02-1984 2nd Street 23 NULO NULO NULO

Nossa consulta acima retornou todas as linhas e colunas da tabela de membros.

Digamos que estejamos interessados ​​apenas em obter apenas os campos full_names, gender, physical_address e email. O script a seguir nos ajudaria a conseguir isso.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

Executar o script acima no ambiente de trabalho MySQL produz os seguintes resultados.

nomes completos Gênero sexual endereço físico o email
Janet Jones Fêmea Terreno da primeira rua nº 4 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
Janet Smith Jones Fêmea Melrose 123 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
Robert Phil Masculino 3rd Street 34 Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
Gloria Williams Fêmea 2nd Street 23 NULO

Obtendo lista de filmes

Lembre-se de que, em nossa discussão acima, mencionamos as expressões usadas em instruções SELECT. Digamos que desejamos obter uma lista de filmes de nosso banco de dados. Queremos ter o título do filme e o nome do diretor do filme em um campo. O nome do diretor do filme deve estar entre colchetes. Também queremos saber o ano em que o filme foi lançado. O script a seguir nos ajuda a fazer isso.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

AQUI

  • A função Concat () MySQL é usada para juntar os valores das colunas.
  • A linha "Concat (` title`, '(', `director`, ')') obtém o título, adiciona um colchete de abertura seguido pelo nome do diretor e então adiciona o colchete de fechamento.

As partes da string são separadas por vírgulas na função Concat ().

Executar o script acima no ambiente de trabalho MySQL produz o seguinte conjunto de resultados.

Concatar (`título`, '(',` diretor`, ')') year_released
Piratas do Caribe 4 (Rob Marshall) 2011
Esquecendo Sarah Marshal (Nicholas Stoller) 2008
NULO 2008
Codinome Preto (Edgar Jimz) 2010
NULO 2007
NULO 2007
NULO 2007
Honey mooners (John Schultz) 2005
NULO 2012

Nomes de campo de alias

O exemplo acima retornou o código de Concatenação como o nome do campo para nossos resultados. Suponha que queremos usar um nome de campo mais descritivo em nosso conjunto de resultados. Usaríamos o nome do alias da coluna para fazer isso. A seguir está a sintaxe básica para o nome do alias da coluna

SELECT `column_name|value|expression` [AS] `alias_name`;

AQUI

  • "SELECT` column_name | value | expression `" é a instrução SELECT regular que pode ser um nome de coluna, valor ou expressão.
  • "[AS]" é a palavra-chave opcional antes do nome do alias que denota a expressão, o valor ou o nome do campo será retornado como.
  • "` alias_name` " é o nome do alias que desejamos retornar em nosso conjunto de resultados como o nome do campo.

A consulta acima com um nome de coluna mais significativo

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Nós obtemos o seguinte resultado

Concat year_released
Piratas do Caribe 4 (Rob Marshall) 2011
Esquecendo Sarah Marshal (Nicholas Stoller) 2008
NULO 2008
Codinome Preto (Edgar Jimz) 2010
NULO 2007
NULO 2007
NULO 2007
Honey mooners (John Schultz) 2005
NULO 2012

Obter lista de membros mostrando o ano de nascimento

Suponha que desejamos obter uma lista de todos os membros mostrando o número de membro, nomes completos e ano de nascimento, podemos usar a função string LEFT para extrair o ano de nascimento do campo de data de nascimento. O script mostrado abaixo nos ajuda a fazer isso.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

AQUI

  • "LEFT (` date_of_birth`, 4) " a função string LEFT aceita a data de nascimento como parâmetro e retorna apenas 4 caracteres da esquerda.
  • "AS` year_of_birth` " é o nome alternativo da coluna que será retornado em nossos resultados. Observe que a palavra-chave AS é opcional , você pode deixá-la de fora e a consulta ainda funcionará.

Executar a consulta acima no ambiente de trabalho MySQL no myflixdb nos dá os resultados mostrados abaixo.

número de membro nomes completos ano de nascimento
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL usando MySQL Workbench

Agora vamos usar o ambiente de trabalho MySQL para gerar o script que exibirá todos os nomes de campo de nossa tabela de categorias.

1. Clique com o botão direito na Tabela de categorias. Clique em "Selecionar Linhas - Limite 1000"

2. O ambiente de trabalho MySQL criará automaticamente uma consulta SQL e colará no editor.

3. Os resultados da consulta serão mostrados

Observe que não escrevemos a instrução SELECT. O ambiente de trabalho MySQL o gerou para nós.

Por que usar o comando SELECT SQL quando temos o MySQL Workbench?

Agora, você pode estar pensando por que aprender o comando SQL SELECT para consultar dados do banco de dados quando você pode simplesmente usar uma ferramenta como o ambiente de trabalho do MySQL para obter os mesmos resultados sem conhecimento da linguagem SQL. Claro que isso é possível, mas aprender a usar o comando SELECT oferece mais flexibilidade e controle sobre suas instruções SQL SELECT .

O ambiente de trabalho MySQL se enquadra na categoria de ferramentas QBE " Consulta por Exemplo " Destina-se a ajudar a gerar instruções SQL mais rapidamente para aumentar a produtividade do usuário.

Aprender o comando SQL SELECT pode permitir que você crie consultas complexas que não podem ser facilmente geradas usando os utilitários Query by Example, como o MySQL workbench.

Para melhorar a produtividade, você pode gerar o código usando o ambiente de trabalho MySQL e personalizá- lo para atender aos seus requisitos . Isso só pode acontecer se você entender como as instruções SQL funcionam!

Resumo

  • A palavra-chave SQL SELECT é usada para consultar dados do banco de dados e é o comando mais comumente usado.
  • A forma mais simples possui a sintaxe "SELECT * FROM tableName;"
  • Expressões também podem ser usadas na instrução select. Exemplo "SELECIONE quantidade + preço DE Vendas"
  • O comando SQL SELECT também pode ter outros parâmetros opcionais, como WHERE, GROUP BY, HAVING, ORDER BY. Eles serão discutidos mais tarde.
  • O ambiente de trabalho MySQL pode ajudar a desenvolver instruções SQL, executá-las e produzir o resultado de saída na mesma janela.