Baixe o app para aproveitar ainda mais
Prévia do material em texto
Access SQL – Básico Autor : Alan F. Sousa ESCM Introdução à SQL SQL é uma linguagem padrão para acessar e manipular banco de dados. O que é SQL? SQL significa Linguagem de Consulta Estruturada (Structured Query Language) SQL permite que você acesse um banco de dados SQL é uma linguagem baseada no padrão ANSI SQL pode executar consultas contra um banco de dados SQL pode extrair dados de um banco de dados SQL pode inserir novos registros em um banco de dados SQL pode apagar registros em um banco de dados SQL pode atualizar registros em um banco de dados SQL é a linguagem mais difundida entre os bancos de dados de mercado SQL é um padrão - mas.... SQL é uma linguagem baseada no padrão ANSI (American National Standards Institute) para acessar e manipular sistemas de banco de dados. As instruções SQL são usadas para extrair e atualizar dados em um banco de dados. MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, Interbase, Firebird, são alguns dos bancos de dados que suportam SQL. Infelizmente, existem muitas diferentes versões da linguagem SQL, mas, para permanecerem em conformidade com o padrão ANSI, elas precisam trabalhar com a maioria dos comandos da mesma maneira (como por exemplo: Select, Update, Delete, Insert, Where, etc...). Nota: A maioria dos bancos de dados SQL tem as suas particularidades que não estão presentes na linguagem SQL! Tabelas do banco de dados SQL Um banco de dados freqüentemente contém uma ou mais tabelas. Cada tabela é identificada por um nome ( ex. “Cliente” ou “Empregados”). As tabelas contêm registros (linhas) com dados. Abaixo um exemplo de uma tabela chamada "Pessoas": Consultas SQL – (SQL Queries) Com SQL, nós podemos consultar um banco de dados e obter um resultado de volta. Uma consulta como esta: SELECT nome FROM pessoas; Nos dá um resultado como este: nome Carla Andre Janet Mario Eduardo Arlindo Maria Hugo Maria Nota: Alguns sistemas de banco de dados requerem um ponto-e-vírgula no final da instrução SQL. Linguagem de Manipulação de Dados SQL - SQL Data Manipulation Language (DML) SQL (Structured Query Language) é a sintaxe para executar consultas. Mas a linguagem SQL também inclui sintaxe para atualizar, inserir e apagar registros. Estes comandos de consulta e de atualização juntos, formam a Linguagem de Manipulação de Dados (DML) e fazem parte da SQL: SELECT – extrai / consulta dados de uma tabela do banco de dados UPDATE – atualiza dados em uma tabela do banco de dados DELETE – apaga dados em uma tabela do banco de dados INSERT INTO – insere novos dados em uma tabela do banco de dados Linguagem de Definição de Dados SQL - SQL Data Definition Language (DDL) A parte da SQL chamada de linguagem de definição de dados, permite criar ou apagar tabelas no banco de dados. Nós também podemos definir índices (chaves), especificar conexões entre as tabelas e estabelecer constrangimentos entre tabelas. As instruções DDL mais importantes em SQL são: CREATE TABLE – cria uma nova tabela no banco de dados ALTER TABLE – altera uma tabela no banco de dados DROP TABLE – apaga uma tabela no banco de dados CREATE INDEX – cria um índice (chave de busca) DROP INDEX – apaga um índice Comando SELECT A instrução SELECT é usada para selecionar dados de uma tabela. O resultado é armazenado em uma tabela lógica chamada de result-set. Sintaxe: SELECT <NOME(S) DA(S) COLUNA(S)> , <...> FROM <TABELA> WHERE <RESTRIÇÕES> ORDER BY <NOME DA(S) COLUNA(S)> ASC | Como Selecionar Linhas de uma única Tabela Notação : SELECT <colunas> , <colunas> FROM <tabela> WHERE <condicao>; select ID,NOME, SOBRENOME from pessoas; Utilizando a cláusula DISTINCT para suprimir linhas duplicatas. SELECT nome FROM pessoas; SELECT DISTINCT nome FROM pessoas; Utilizando a cláusula DISTINCT com várias colunas. SELECT DISTINCT nome, sexo FROM pessoas; Utilizando a cláusula * para listar todas as colunas da tabela. SELECT * FROM pessoas; Selecionando registros de um tabela restringindo pelo campo dt_contratacao. SELECT id,nome,sobrenome FROM pessoas Where dt_contratacao < #01/01/1990# ; Criando campos a partir de strings(textos) SELECT (nome & ‘ ‘ & sobrenome ) AS Nomes FROM pessoas Where salario > 50000 AND dt_contratacao < #31/01/1990# ; Criando uma ordem de exibição com a clausula ORDER BY A clausula order by por padrão ela é crescente , mais podemos inverter a ordenação com a inclusão do parâmetro DESC SELECT ID, (nome & ' ' & sobrenome ) AS Nomes, salario FROM pessoas Where salario > 50000 AND dt_contratacao < #31/01/1990# order by ID ; SELECT ID, (nome & ' ' & sobrenome ) AS Nomes, salario FROM pessoas Where salario > 50000 AND dt_contratacao < #31/01/1990# order by ID DESC; Ordenando pelo índice de uma coluna especifica SELECT NOME, SALARIO * 12 FROM pessoas ORDER BY SALARIO * 12; OU SELECT NOME, SALARIO * 12 FROM pessoas ORDER BY 1; Operadores aritméticos Utilizando operadores aritméticos ( +, -, *, / ) na cláusula Select. SELECT NOME, SALARIO * 12 FROM pessoas Where salario > 50000 AND dt_contratacao < #31/01/1990# ; Utilizando Alias para criar títulos para as colunas de resultado. SELECT NOME, SALARIO * 12 AS SAL_ANUAL, DT_CONTRATACAO FROM pessoas; -- OU SELECT NOME, SALARIO * 12 as "SAL ANUAL" , DT_CONTRATACAO FROM dbo.EMPREGADOS; Utilizando operador de concatenação + SELECT NOME & ' ' & SOBRENOME FROM PESSOAS; Selecionando apenas os empregados lotados no departamento 20. SELECT NOME, NUMERO_DEPT, SALARIO FROM dbo.EMPREGADOS WHERE NUMERO_DEPT = 20 ORDER BY SALARIO Selecionando apenas o empregado denominado SMITH. SELECT NOME, NUMERO_DEPT, SALARIO FROM dbo.EMPREGADOS WHERE NOME = 'CELIO'; Selecionando com operadores lógicos. SELECT NOME, NUMERO_DEPT, SALARIO FROM dbo.EMPREGADOS WHERE SALARIO > 1000; Selecionando a quantidade de resultados a serem visualizados conforme a clausula TOP. SELECT TOP 2 NOME , SOBRENOME FROM PESSOAS; Resumo Operadores lógicos AND , OR , NOT Operadores para comparações lógicas: = , >, >= , <= , < , <> Outros operadores BETWEEN ... AND ... ou NOT BETWEEN IN (Lista) ou NOT IN LIKE ou NOT LIKE IS NUL ou IS NOT NULL Selecionando linhas com BETWEEN ... AND ... SELECT NOME, DT_CONTRATACAO FROM PESSOAS WHERE DT_CONTRATACAO BETWEEN #01/01/1994# AND #30/12/1994#; Selecionando linhas com a cláusula IN. SELECT NOME, SOBRENOME, SALARIO FROM PESSOAS WHERE NOME IN (‘Maria’,’ Eduardo’) ORDER BY NOME, SALARIO; Selecionando linhas com a cláusula LIKE. SELECT NOME, SALARIO FROM PESSOAS WHERE NOME LIKE 'E*' ORDER BY NOME; Selecionando linhas com a cláusula IN. SELECT NOME, SALARIO FROM PESSOAS WHERE ID IN (1, 5) ORDER BY ID, NOME; Selecionando linhas com a cláusula IS NULL. SELECT NOME, SALARIO FROM PESSOAS WHERE SEXO IS NULL; Sub query -Selecionando linhas com a utilização de outra query(sql) SELECT NOME, SOBRENOME FROM PESSOAS WHERE ID IN (SELECT ID FROM PESSOAS WHERE SALARIO > 40000 ); Funções Utilização da função AVG em uma sentença SQL , onde está função tem por finalidade efetuar a média de um conjunto de valores . SELECT Avg( SALARIO ) AS " SALARIO MEDIO" FROM PESSOAS ; Utilização das funções LEN em uma sentença SQL, onde retorna a quantidadede caracteres do campo nome . SELECT NOME, LEN(NOME) FROM PESSOAS; Utilização das funções LEN em uma sentença SQL, onde retorna a quantidade de caracteres do campo nome . SELECT SUM(SALARIO) AS “TOTAL_SALARIOS” FROM PESSOAS; Comando INSERT A instrução INSERT é usada para inserir dados em uma tabela. Sintaxe: INSERT INTO <TABELA> ( <COLUNA_1>, < COLUNA_2>, < COLUNA_...> ) VALUES ( <VALOR DA COLUNA1>, <VALOR DA COLUNA2>, <VALOR DA COLUNA ....> ) ; Utilização da instrução INSERT para inserir valores na tabela de pessoas . INSERT INTO PESSOAS ( ID, NOME, SOBRENOME, DT_CONTRATACAO, DT_REVISAO, SALARIO, SEXO, SELEC ) VALUES ( 10 , 'ALAN' , 'SOUSA', #1/1/2013#, #1/4/2013#, 5000 , 'M' , YES); Utilização da instrução INSERT pode ser combinada com a instrução SELECT para efeito de carga de dados. INSERT INTO PESSOAS2 ( ID, NOME, SOBRENOME, DT_CONTRATACAO, DT_REVISAO, SALARIO, SEXO, SELEC ) SELECT * FROM PESSOAS; Utilização da instrução de INSERT neste caso suprimindo a descrição dos campos, porém obedecendo a ordem de inserção da tabela . INSERT INTO PESSOAS VALUES ( 11 , 'ALCIR' , 'MORAES', #15/1/2013#, #16/4/2013#, 6000 , 'M' , YES); Utilização da instrução de Insert , neste caso omitindo campos na tabela . INSERT INTO PESSOAS (ID,NOME,SOBRENOME) VALUES ( 12 , 'ALCIDES' , 'SILVA'); Comando DELETE A instrução DELETE é usada para apagar dados de uma tabela. Sintaxe: DELETE FROM <TABELA> WHERE <CONDIÇÕES> ; Utilização da instrução DELETE para apagar dados na tabela de pessoas onde o campo sexo seja null . DELETE FROM PESSOAS2 WHERE SEXO IS NULL; Utilização da instrução DELETE com uso de sub query. DELETE FROM PESSOAS2 WHERE ID IN (SELECT ID FROM PESSOAS2 WHERE SALARIO > 40000); Utilização da instrução DELETE para apagar todos os dados da tabela. DELETE FROM PESSOAS2 ; Comando UPDATE A instrução UPDATE é usada para atualizar os dados na tabela. Sintaxe: UPDATE <TABELA> SET <COLUNA_1> = <VALOR A SER ATUALIZADO> , <COLUNA_2> = <VALOR A SER ATUALIZADO> , <COLUNA_N > = <VALOR A SER ATUALIZADO> WHERE <CONDIÇÕES> ; Utilização da instrução UPDATE para atualizar os dados na tabela de pessoas onde o campo ID seja igual 4 . UPDATE PESSOAS2 SET SALARIO = 1200 WHERE WHERE ID = 4 ; Utilização da instrução UPDATE para atualizar todos os dados da tabela de pessoas. UPDATE PESSOAS2 SET SALARIO = 1200 ; pessoas.xml 1 Carla Dumont 1987-09-04T00:00:00 1999-09-02T00:00:00 60250.82 F 1 2 Andre Lima 1997-02-09T00:00:00 1999-02-09T00:00:00 55081.1 M 1 3 Janet Silva 1994-06-25T00:00:00 1999-06-25T00:00:00 49875 F 0 4 Mario Jorge 1994-01-16T00:00:00 1999-07-16T00:00:00 77629.58 F 1 5 Eduardo Xavier 1998-01-17T00:00:00 1999-09-17T00:00:00 40163.31 M 0 6 Arlindo Silva 1978-09-22T00:00:00 1999-10-01T00:00:00 103500 M 1 7 Maria Ferreira 1978-08-09T00:00:00 1999-10-03T00:00:00 103750 F 1 8 Hugo Carvalho 1989-09-12T00:00:00 1999-09-30T00:00:00 30601 M 0 9 Maria Izabel 1987-09-09T00:00:00 1999-10-03T00:00:00 79368.71 F 1 pessoas.xsd
Compartilhar