2.1 Introdução ao SQL

Se você possui um banco de dados (DB) e nele - uma tabela com alguns dados, a tarefa mais comum é encontrar determinados dados nesta tabela. Foi para isso que o SQL foi inventado há 40 anos.

SQL significa Linguagem de Consulta Estruturada .

A consulta SQL mais simples se parece com isso:

SELECT column1, column2, … columnN FROM table

Digamos que você tenha uma tabela de funcionários com uma lista dos funcionários da sua startup:

eu ia nome ocupação salário idade data de afiliação
1 Ivanov Ivan Programador 100.000 25 30/06/2012
2 Petrov Petr Programador 80.000 23 12/08/2013
3 Ivanov Sergei Testador 40.000 trinta 2014-01-01
4 Rabinovich Moisha Diretor 200.000 35 2015-05-12
5 Kirienko Anastácia Gerente 40.000 25 2015-10-10
6 Vaska gato 1.000 3 2018-01-01

Você deseja escrever uma consulta que employee namesos exiba também salaries, então você precisa escrever uma consulta:

SELECT name, salary FROM employee

Você obterá o resultado da consulta:

nome salário
Ivanov Ivan 100.000
Petrov Petr 80.000
Ivanov Sergei 40.000
Rabinovich Moisha 200.000
Kirienko Anastácia 40.000
Vaska 1.000

Se você deseja exibir todas as colunas da sua tabela , em vez de listar os nomes de todas as colunas, basta escrever um asterisco. Exemplo:

SELECT * FROM employee

Você obterá o resultado da consulta:

eu ia nome ocupação salário idade data de afiliação
1 Ivanov Ivan Programador 100.000 25 30/06/2012
2 Petrov Petr Programador 80.000 23 12/08/2013
3 Ivanov Sergei Testador 40.000 trinta 2014-01-01
4 Rabinovich Moisha Diretor 200.000 35 2015-05-12
5 Kirienko Anastácia Gerente 40.000 25 2015-10-10
6 Vaska gato 1.000 3 2018-01-01

2.2 Visão avançada da consulta SQL

A linguagem SQL foi projetada para ser a mais amigável possível.

Primeiro, o caso do texto da solicitação não importa . Você pode escrever SELECT, Select ou select e tudo funcionará. Em segundo lugar, as quebras de linha não são levadas em consideração de forma alguma . O DBMS ainda transformará a consulta em uma string longa, para que você possa escrevê-la como quiser.

Como você provavelmente já adivinhou, as palavras-chave SELECT e FROM não são limitadas. Caso contrário, não haveria tanta conversa sobre SQL. A visão estendida da consulta SQL tem esta aparência:

SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting

Com a ajuda de uma palavra-chave, WHEREvocê pode definir uma condição/filtro para as linhas selecionadas.

Exemplo 1 . Vamos escrever uma consulta que selecionará funcionários com a profissão "Programador":

SELECT * FROM employee WHERE occupation = 'Programmer'

E obtemos o seguinte resultado da consulta:

eu ia nome ocupação salário idade data de afiliação
1 Ivanov Ivan Programador 100.000 25 30/06/2012
2 Petrov Petr Programador 80.000 23 12/08/2013

Como você pode ver, como resultado da execução da consulta, apenas as linhas onde a profissão do funcionário é chamada de "Programador" são exibidas.

As palavras-chave GROUP BY, ORDER BYe HAVINGabordaremos nas próximas palestras. E nisso vamos analisar mais alguns exemplos com a palavra WHERE.

Exemplo 2 . Agora vamos escrever uma consulta que nos mostrará todos os funcionários com salário superior a 100 mil. Veja como será:

SELECT * FROM employee WHERE salary > 100000

Obtemos o seguinte resultado da consulta:

eu ia nome ocupação salário idade data de afiliação
4 Rabinovich Moisha Diretor 200.000 35 2015-05-12

Exemplo 3 . Agora vamos tentar algo mais difícil. Como exibir todos os funcionários que foram contratados em 2015? E assim:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

Obtemos o seguinte resultado da consulta:

eu ia nome ocupação salário idade data de afiliação
4 Rabinovich Moisha Diretor 200.000 35 2015-05-12
5 Kirienko Anastácia Gerente 40.000 25 2015-10-10

Nesta consulta, usamos uma função especial YEAR()que nos permite obter o ano de uma data e depois comparar o ano da data com o número 2015.

2.3 Comentários em consultas SQL

E mais um ponto importante são os comentários nas consultas SQL. Os comentários são uma coisa muito útil. Em primeiro lugar, você pode escrever explicações e/ou suas ideias neles. Em segundo lugar, com a ajuda de comentários, você pode desativar o código quebrado. Ou comente a versão antiga do código.

SQL, como Java, tem comentários de uma linha e várias linhas. Além disso, um comentário de várias linhas se parece com o Java. Sua aparência:


/*
 	comment text
 	comment text
 	comment text
*/
        

Claro, pode ser usado em uma linha também. Exemplo:


/*comment text*/
        

Existe também um tipo de comentário "do início ao fim da linha", semelhante ao Java "//". Somente no SQL você precisa escrever dois caracteres de menos e um espaço . Visão geral de tal comentário:

-- comment text

Exemplo:


        SELECT * FROM employee -- WHERE YEAR(join_date) = 2015 
        

No exemplo acima, comentamos a condição da consulta, então o MySQL executará apenas a consulta:

SELECT * FROM employee

2.4 pronúncia SQL

Se você se comunicar com clientes estrangeiros ou passar em uma entrevista online para uma empresa americana, poderá ser questionado sobre sua experiência com o idioma sequencial . Você dirá honestamente que não trabalhou com ele e será reprovado imediatamente na entrevista.

E o fato é que a linguagem SQL foi originalmente chamada de SEQUEL, que é pronunciada como uma sequência (ˈsēkwəl), então muitas vezes nos EUA e em outras fontes em inglês você ouvirá não “escuel”, mas “sequel”. O SQL é escrito e a sequência é lida. Aqui está um paradoxo histórico.