Baixe Linguagem SQL - Apostilas - Informática Part1 e outras Notas de estudo em PDF para Informática, somente na Docsity!
Introdução a
linguagem SQL
Autor:
Jair Daum Franceschini
- Objetivos............................................................................................................................
- A linguagem SQL..............................................................................................................
- Database – Banco de Dados (BD) .....................................................................................
- Database Management System (Sistema Gerenciador de Dados).....................................
- Terminologia .....................................................................................................................
- Tabelas...............................................................................................................................
- Linhas e Colunas ...............................................................................................................
- Acessando os dados / Chaves primárias............................................................................
- Pessoal do Banco de Dados e funções de trabalho............................................................
- Formando uma tabela ........................................................................................................
- Recuperando os dados de uma tabela................................................................................
- O banco de dados Pubs2....................................................................................................
- Escolhendo um banco de dados.........................................................................................
- Simples recuperação – Select / From ................................................................................
- Eliminando duplicações.....................................................................................................
- Recuperação qualificada – Select / From / Where ............................................................
- Renomeando Colunas......................................................................................................
- Strings de caracteres nos resultados da query .................................................................
- Expressões numéricas......................................................................................................
- Valores nulos ...................................................................................................................
- Select / order by...............................................................................................................
- Funções agregadas...........................................................................................................
- Lidando com valores nulos..............................................................................................
- Selecto/Group by.............................................................................................................
- Operação de união “JOIN”..............................................................................................
- “JOINS” baseados em igualdade.....................................................................................
- Aliases .............................................................................................................................
- “JOINS” não baseados em igualdade ..............................................................................
- Self-Joins .........................................................................................................................
- Unindo mais de duas tabelas ...........................................................................................
- Outer joins (joins externos) .............................................................................................
- Escrevendo subqueries ....................................................................................................
- Razões para usar subqueries............................................................................................
- Subqueries - restrições.....................................................................................................
- Múltiplos níveis de aninhamento.....................................................................................
- Subqueries retornando múltiplas linhas...........................................................................
- Subqueries com operadores de comparação....................................................................
- Exists ...............................................................................................................................
- Unions..............................................................................................................................
- Criando uma tabela a partir de outra existente ................................................................
- Modificando dados – incluindo dados.............................................................................
- Modificando dados – atualizando dados .........................................................................
- Modificando dados – deletando dados ............................................................................
- Removendo definições de dados .....................................................................................
Software que facilita a definição de BDs estruturados e o armazenamento e recuperação dos dados dessas estruturas.
Terminologia
- Tabela (relação) o um conjunto de linhas, ou um conjunto de listas de valores, uma “relação”.
- Coluna (atributo) o Semelhante à campo de um registro; o Cada coluna em cada linha tem apenas um conteúdo; o Cada coluna é só de um tipo de dados.
- Linha (dupla) o Análogo a um registro de um arquivo; o Todas linhas de uma tabela tem o mesmo conjunto de colunas.
- Chave Primária (Primary Key) o Uma ou mais colunas com valores que são únicos dentro da tabela e por isso podem ser usados para identificar as linhas dessa tabela.
- Domínio o Conjunto de valores válidos para uma determinada coluna.
Tabelas
- Modelo Relacional o Num BD relacional todos os dados estão em tabelas; o A tabela mantém dados relacionados a urna determinada classe de objetos.
- Tabelas são feitas de linhas e colunas o Existe somente um valor de dado para cada coluna de cada linha.
Linhas e Colunas
- Colunas o Cada coluna tem um nome.
Cada coluna contém dados sobre um aspecto da tabela; Cada coluna contém dados de um só tipo, por exemplo:
- número inteiro;
- string de caracteres;
- etc.
- Linhas o Cada linha contém dados relacionados a uma citação da tabela; o As linhas não estão em qualquer ordem determinada.
Acessando os dados / Chaves primárias
- O nome da tabela, nome da coluna e linha determinam um ítem de dado;
- Cada linha pode ser acessada por uma única Chave Primária;
- Em cada linha, alguma coluna ou grupo de colunas identificam a linha.
Pessoal do Banco de Dados e funções de trabalho
- Usuário do Banco de Dados o Recuperação dos dados; o Atualização dos dados; o Inclusão dos dados; o Deleção dos dados.
- Desenhista do Banco de Dados o Desenha o Banco de Dados; o Criação das Tabelas; o Criação de Regras de Trabalho / Segurança (Integridade Referencial).
- Programador de Aplicação no Banco de Dados o Utilização do “embeded SQL” na codificação; o Desenha e escreve telas para usuários.
- Administrador do Banco de Dados o Instalação do sistema; o Cópias e Recuperações;
- Convenção de nomes database.owner.table_name.column_name Exemplo: pubs2.bob.stores.stor_id; pubs2.fred.stores.stor_name.
O banco de dados Pubs
Titles Authors Salesdetail Titleauthor Royched Publishers Discounts Stores Blurbs Sales Au_pix
O banco de dados Pubs2 contém 11 tabelas de dados relacionadas a operação e distribuição de livros fictícios. Titles Informações básicas de cada livro Authors Informações sobre autores Titleauthor Tabela relacional usada para ligar as tabelas authors e title Publisher Informações sobre editores Stores Informações sobre lojas que vendem nossos livros Sales Resumo de vendas para as lojas Salesdetail Vendas detalhadas de títulos para as lojas Roysched Escala demonstrando o percentual de royalties pagável em cada título Discounts Uma tabela de descontos variados disponíveis Blurbs Pequena bibliografia dos autores Au_pix Imagem dos autores
Escolhendo um banco de dados
- Para conectar-se a um Banco de Dados
Sintaxe: use nome_do_banco_de_dados
Simples recuperação – Select / From
- Usado para recuperar dados de um Banco de Dados o select , especifica a coluna que você quer recuperar; o from , específica a tabela ou as tabelas das quais você deseja recuperar dados. Sintaxe simplificada: o select: lista_do_select; o from: lista_de_tabelas;
- Todas as colunas o select * from stores (Lista todas as informações da tabela stores).
- Uma coluna o select stor_narne from stores (Lista apenas os nomes das lojas tabela stores)
- Mais de uma coluna o select stor_name, city, state from stores (Lista nome da loja, a cidade e o estado da tabela stores)
- Reordenando colunas A ordem das colunas no comando select determina a ordem em que as colunas aparecerão no resultado. o select city, stor namc, state from stores (Lista a cidade, o nome da loja e o estado da tabela stores)
“null”, “between”, e “in”.
- operadores de comparação = Igual a > Maior que < Menor que >= , !< Maior ou igual a <= , !> Menor ou igual a != , <> Diferente
o Na comparação de datas, “<” significa antes e “>” significa depois; o Use aspas simples ou duplas para dados char, varchar e datetime, por exemplo; o Alfabéticos de caixa baixa são maiores que alfabéticos de caixa alta e alfabëticos de caixa alta são maiores que números.
Exemplo: o (igual) select stor_name, state from stores where state = ‘CA’ (Lista as lojas que se localizam na Califórnia)
o (não igual) select stor_name, city, state from stores where state != ‘CA’ (Lista as lojas que não se localizam na Califórnia)
o (maior que) select stor_id, stor_name from stores where stor_id > ‘7066’ (Lista os códigos e nomes das lojas que possuem código maior que ‘7066’)
o (menor que) select city, stor_name from stores where city < ‘Remulade’ (Lista os nomes das lojas e as cidades das lojas que se localizam em cidades cujo nome é alfabeticamente inferior a ‘Remulade’)
- between: palavra chave usada para especificar uma série que compreende, de um valor mais baixo até um valor mais alto, para a pesquisa.
Exemplo: select stor_id stor_name, city, state from stores where stor_id between ‘7067’ and ‘8000’ (Lista as lojas que possuem os códigos entre 7067 e 8000 inclusive)
- not between: palavra chave usada para excluir os dados fora da série entre o mais baixo e o mais alto valor especificado (Fora do intervalo).
Exemplo: select stor_id, stor_name, city, state from stores where stor_id between ‘7067’ and ‘8000’ (Lista as lojas que possem os códigos fora do intervalo 7067 e 8000.)
- like: palavra chave usada para selecionar linhas que contém campos que se assemelham em uma determinada porção do string. o É usado somente com char , varchar e datetime; o Pode usar coringas o Significado dos coringas % (porcentagem), qualquer string de zero ou mais caracteres; _ (anderscore), qualquer caractere simples;
From stores Where stor_name ‘[A-C, G-Z]%’ (lista os nomes das lojas cujos nomes comecem com a letra A, B, C ou de G à Z)
- in, not in: palavra chave que permite que você selecione valores que se assemelham ou não com qualquer valor de uma lista de valores. Exemplo: o in select stor_name, city, state from stores where state in (‘CA’, ‘WA’) (lista as lojas que se realizam em Washington ou na Califórnia) o not in select stor_name, city, state from stores where state not in (‘CA’, ’WA’) (lista as lojas que se não localizam em Washington e nem na Califórnia)
- and: une duas os mais condições. Retorna resultados somente quando todas condições são verdadeiras. Exemplo: o select stor_name, city, state from stores where state = ‘CA’ and city = ‘Fremont’ (lista as lojas localizadas na cidade de Fremont no estado da Califómia)
- or: conecta duas ou mais condições. Retoma resultados quando qualquer uma das condições é verdadeira. É compreensivo. Exemplo: o select stor_name, city, state from stores where state = ‘CA’
or city = ‘Portland’ (lista as lojas localizadas na cidade de Portland ou no estado da Califórnia)
Quando mais de um operador lógico é usado, a ordem na qual eles são executados é: not and or Parênteses podem alterar o significado de uma pergunta para forçar a ordem de execução
Exemplos: o sem parênteses select title_id, type, advance from titles where type = ‘business’ or type = ‘psychology’ or advance> 5500 (lista os livros da categoria business, ou categoria psychology, ou com adiantamento maior que U$ 5500) o com parênteses select title_id, type, advance from titles where (type = ‘business’ or type = ‘psychology’) and advance> 5500 (lista os livros da categoria business, ou categoria psychology, e desses somente os que possuem adiantamento maior que U$ 5500)
Renomeando Colunas
Permite que o usuário forneça outro nome a ser usado na saída do comando select ao invés do nome da coluna.