Bases de dados: SQL (continuação)
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 08, 14-03-2012
SQL | Structured Query Language

Desenvolvida no início dos anos 70. Permite a interação com os SGBD e
as BD aí existentes. Utilizada por todos os SGBDR (embora com pequenas
diferenças!). Está estruturada em várias categorias:

  • Data Query Language (DQL) – consultar os dados existentes na BD
     • SELECT
  • Data Manipulation Language (DML) – criar e modificar os dados na BD
     • INSERT, UPDATE, DELETE
  • Data Definition Language (DDL) – criar e modificar objectos da BD
    (tabelas, views, …), ou a própria BD
     • CREATE, ALTER, DROP
  • Data Control Language (DCL) – gerir os privilégios dos utilizadores na
    gestão da BD, dos seus objectos e dos dados aí existentes
     • GRANT, REVOKE
SQL | Operadores e algumas funções
símbolo           descrição                           exemplo                    observações

=                 Igual                               EmployeeNo = 2

>                 Maior                               EmployeeNo > 2

<                 Menor                               EmployeeNo < 2

<>                Diferente                           EmployeeNo <> 2

>=                Maior ou igual                      EmployeeNo >= 2

<=                Menor ou igual                      EmployeeNo <= 2

IN                Igual a um valor dentro de uma      EmployeeNo IN (2,3,4)
                  colecção de valores

LIKE              Similar                             LastName LIKE ‘Nunes’

BETWEEN ... AND   Dentro de um conjunto de valores,   EmployeeNo BETWEEN 2 AND Equivalente a:
                  incluindo os limites                4                        EmployeeNo IN (2,3,4)

IS NULL                                               DateEmployed IS NULL

IS NOT NULL                                           DateEmployed IS NOT NULL

NOW()             Devolve a DATA e HORA do servidor
SQL | Operadores Lógicos

AND, OR e NOT

  • Estes operadores têm uma prioridade inferior relativamente aos
    apresentados no slide anterior
  • As prioridades podem ser alteradas através da utilização de ( )
    símbolo   descrição             exemplo                    observações

    AND       As duas expressões    SalesNo > 3 AND Customer O AND tem maior prioridade do que
              têm que ter o valor   < “Smith”                o OR
              verdadeiro para o
              resultado final ser
              verdadeiro

    OR        Se qualquer uma das SalesNo > 3 OR Customer <
              expressões tiver o  “Smith”
              valor verdadeiro, o
              resultado final é
              verdadeiro

    NOT       Inverte o resultado   SalesNo NOT IN (2; 3; 4)
              booleano
SQL: SELECT DISTINCT … FROM

SELECT oficinasql.viaturas.Marca
FROM oficinasql.viaturas;




SELECT DISTINCT oficinasql.viaturas.Marca
FROM oficinasql.viaturas;
SQL: SELECT … FROM ... WHERE

 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE oficinasql.viaturas.Marca < 'Fiat' OR
   oficinasql.viaturas.Marca > 'Smart';




 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE ((oficinasql.viaturas.Marca < 'Fiat') OR
   (oficinasql.viaturas.Marca > 'Smart'))
   AND oficinasql.viaturas.Modelo LIKE ‘C%’;
SQL: SELECT … FROM ... WHERE

 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE oficinasql.viaturas.Marca IN ('Citroen', 'Smart');




 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE oficinasql.viaturas.Marca BETWEEN "Ferrari" AND "Renault"
   ORDER BY oficinasql.viaturas.Marca;
SQL: exemplos

 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE oficinasql.viaturas.DataVenda IS NULL;




 • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo
   FROM oficinasql.viaturas
   WHERE oficinasql.viaturas.DataVenda IS NOT NULL;
SQL: exemplos

 • SELECT oficinasql.viaturas.Marca
   FROM oficinasql.viaturas
   WHERE NOT oficinasql.viaturas.Marca IN ("Subaru", "Ferrari", "Renault");
SQL: Funções pré-definidas

Funções pré-definidas que trabalham sobre grupos de dados

  • AVG – valor médio
  • MIN– valor mínimo
  • MAX – valor máximo
  • COUNT – número de elementos
  • SUM – soma
SQL: Funções pré-definidas

 • SELECT MAX(oficinasql.viaturas.Preco)
   FROM oficinasql.viaturas;




 • SELECT COUNT(oficinasql.viaturas.Modelo)
   FROM oficinasql.viaturas;
SQL: AS

 • SELECT COUNT(oficinasql.viaturas.Modelo) AS TotalViaturas
   FROM oficinasql.viaturas;

                                                               TotalViaturas




 • SELECT COUNT(oficinasql.viaturas.Modelo)
   FROM oficinasql.viaturas AS tViat
   ... a partir daqui podemos utilizar “tViat” sempre que for necessário referir
   a tabela “oficinasql.viaturas”;
SQL: Funções pré-definidas

 • SELECT oficinasql.viaturas.Marca, COUNT(oficinasql.viaturas.Modelo)
   FROM oficinasql.viaturas
   GROUP BY oficinasql.viaturas.Marca;
SQL INSERT

INSERT INTO oficinasql.clientes VALUES (NULL, 'Joaquim Soares',
981234567, ‘Rua Estreita');
  • Desta forma inserem-se valores em todos os campos da tabela pela
    ordem como estão declaradas as colunas
  • Utiliza-se o NULL em campos com AI (por exemplo, no caso da PK) ou
    onde não se queira inserir informação
SQL INSERT

INSERT INTO oficinasql.clientes (Nome,Idade) VALUES ('Serafim
Saudade', 24);
  • Podem inserir-se valores apenas em alguns campos
  • Campos com AI serão actualizados automaticamente
SQL UPDATE

UPDATE oficinasql.clientes
SET oficinasql.clientes.Nome = "Serafim Saudoso",
oficinasql.clientes.Idade = 65
WHERE oficinasql.clientes.idClientes = 12;
SQL DELETE

DELETE FROM oficinasql.clientes
WHERE oficinasql.clientes.idClientes = 12;




DELETE FROM oficinasql.clientes;
  • Apagaria todos os registos da tabela!

Mais conteúdo relacionado

PDF
LabMM4 (T08 - 12/13) - SQL continuação
PPTX
Banco dedados aula002
DOCX
Sql - Introdução ao mysql
PPTX
Aula 12 banco de dados
PPTX
Banco de dados aula 4
PDF
Consultas SQL
PDF
Banco de dados - Aula 1 SQL
PPTX
Aula 11 banco de dados
LabMM4 (T08 - 12/13) - SQL continuação
Banco dedados aula002
Sql - Introdução ao mysql
Aula 12 banco de dados
Banco de dados aula 4
Consultas SQL
Banco de dados - Aula 1 SQL
Aula 11 banco de dados

Mais procurados (20)

DOCX
Comandos DDL para o MySQL
PPTX
Hands on Labs - SQL Server 2008
DOCX
Sql - Comandos dml do mysql - parte 1
PDF
Sql básico - Teoria e prática: Um grande resumo
PPTX
Aula 9 banco de dados
PPTX
T-SQL na prática com SQL SERVER Express 2012
PPTX
ORM: Sendo produtivo com NHibernate
PPTX
Treinamento de SQL Básico
PPTX
Aula 10 banco de dados
PDF
Introdução ao MySQL
PPT
Fundamentos de SQL - Parte 3 de 8
PDF
Sql com sql server básico - Bóson treinamentos
PPSX
Linguagem SQL
PDF
Introdução ao SQL
PPTX
Aula 10 banco de dados
PPTX
Basesdedados
PPTX
Criando um banco de dados com MySQL Workbench
PDF
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8
PPT
Fundamentos de SQL - Parte 6 de 8
PDF
Aula de SQL - Básico
Comandos DDL para o MySQL
Hands on Labs - SQL Server 2008
Sql - Comandos dml do mysql - parte 1
Sql básico - Teoria e prática: Um grande resumo
Aula 9 banco de dados
T-SQL na prática com SQL SERVER Express 2012
ORM: Sendo produtivo com NHibernate
Treinamento de SQL Básico
Aula 10 banco de dados
Introdução ao MySQL
Fundamentos de SQL - Parte 3 de 8
Sql com sql server básico - Bóson treinamentos
Linguagem SQL
Introdução ao SQL
Aula 10 banco de dados
Basesdedados
Criando um banco de dados com MySQL Workbench
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8
Fundamentos de SQL - Parte 6 de 8
Aula de SQL - Básico
Anúncio

Semelhante a 08 LabMM4 - Bases de dados (20)

PDF
Aula 7 sql - select
PDF
PBD Select e restrições para Select
PDF
Um pouco sobre sql
PDF
Aula7 sql basico_6por_pag
PPTX
PDF
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
PDF
Banco II - PostgreSQL - Filtros
PPTX
Banco de Dados - Aula 05
PPTX
BD I - Aula 10 A - Introducao a SQL
PPT
Aula 11 - Conceitos de SQL Básicos, uso constante
PDF
Funções integradas no sql
PDF
04. manipulando dados
PDF
Introducao oracle-sqlplsql-vol2-pt
PDF
A06_BD_Linguagem_SQL_SELECT.pdf
PDF
Aula 4 - Manipulando e Resgatando Dados 2
PDF
Introdução a Banco de Dados (Parte 3)
PPT
CONCEITOS BASICOS DE BANCO DE DADOS COM SQL
PDF
Dicas oracle sql
PPTX
07 Consultando os dados de uma tabela
DOCX
Sql linguagem
Aula 7 sql - select
PBD Select e restrições para Select
Um pouco sobre sql
Aula7 sql basico_6por_pag
LabMM4 (T06 - 12/13) - Auto-associações e Introdução ao SQL
Banco II - PostgreSQL - Filtros
Banco de Dados - Aula 05
BD I - Aula 10 A - Introducao a SQL
Aula 11 - Conceitos de SQL Básicos, uso constante
Funções integradas no sql
04. manipulando dados
Introducao oracle-sqlplsql-vol2-pt
A06_BD_Linguagem_SQL_SELECT.pdf
Aula 4 - Manipulando e Resgatando Dados 2
Introdução a Banco de Dados (Parte 3)
CONCEITOS BASICOS DE BANCO DE DADOS COM SQL
Dicas oracle sql
07 Consultando os dados de uma tabela
Sql linguagem
Anúncio

Mais de Carlos Santos (20)

PDF
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PDF
Is AI the Spice of our future?
PPTX
Mentoria entre pares de estudantes para estudantes
PDF
1º Encontro Científico TCEdu
PDF
Tecnologias da Comunicação em Educação 2018: Aula inicial
PPTX
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
PDF
AVILA Crew – Uma experiência de tutoria de alunos para alunos
PDF
chmod 777 education
PPTX
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
PDF
Tecnologias da Comunicação em Educação: trabalho prático
PPTX
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
PDF
chmod 777 education
PDF
SAPO Campus towards a
 Smart Learning Environment
PDF
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
PDF
A technological approach to Open and Social Learning: 
the SAPO Campus project
PDF
SAPO Campus: Gamification em contexto educativo
PDF
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
PDF
T20_LM3: APIs e Scoreoid
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Is AI the Spice of our future?
Mentoria entre pares de estudantes para estudantes
1º Encontro Científico TCEdu
Tecnologias da Comunicação em Educação 2018: Aula inicial
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
chmod 777 education
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Tecnologias da Comunicação em Educação: trabalho prático
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
chmod 777 education
SAPO Campus towards a
 Smart Learning Environment
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
A technological approach to Open and Social Learning: 
the SAPO Campus project
SAPO Campus: Gamification em contexto educativo
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
T20_LM3: APIs e Scoreoid

Último (20)

PDF
historia-e-geografia-do-amapa.pdf slides
PPTX
5. A cultura do mundo virtual - globalidade.pptx
PPSX
4. A Cultura da Catedral - HistóriaCArtes .ppsx
PPTX
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
PDF
Pecados desdenhados por muita gente (islamismo)
PPTX
4. A cultura do cinema e as vanguardas.pptx
PDF
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
PPTX
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx
PPTX
São João Eudes, 1601 – 1680, padre e fondador, Francés.pptx
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PPT
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
PDF
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PPTX
entorseestadodechoque. Aula de primeiros socorros
PPT
16 - Treinamento Introdutório de SSO - Saúde - Primeiros Socorros.ppt
PPTX
Concordância Nominal e Verbal e atividade
PPTX
Primeiros Socorros. Aula 1 VEROUVIRSENTIR.pptx
PPTX
DOUTRINA FORÇA TÁTICA PMRO 2022 - PPT (1).pptx
PDF
edital-de-chamamento-publico-no-3-2025.pdf
PPTX
NR 5 Treinamento completo gestão CIPA.pptx
historia-e-geografia-do-amapa.pdf slides
5. A cultura do mundo virtual - globalidade.pptx
4. A Cultura da Catedral - HistóriaCArtes .ppsx
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
Pecados desdenhados por muita gente (islamismo)
4. A cultura do cinema e as vanguardas.pptx
cadernodoprofessor20142017vol2baixalceducfisicaef6s7a-170409213016.pdf manual...
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx
São João Eudes, 1601 – 1680, padre e fondador, Francés.pptx
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
Historia da Gastronomia Mundial por Daianna Marques dos Santos
entorseestadodechoque. Aula de primeiros socorros
16 - Treinamento Introdutório de SSO - Saúde - Primeiros Socorros.ppt
Concordância Nominal e Verbal e atividade
Primeiros Socorros. Aula 1 VEROUVIRSENTIR.pptx
DOUTRINA FORÇA TÁTICA PMRO 2022 - PPT (1).pptx
edital-de-chamamento-publico-no-3-2025.pdf
NR 5 Treinamento completo gestão CIPA.pptx

08 LabMM4 - Bases de dados

  • 1. Bases de dados: SQL (continuação) Carlos Santos LabMM 4 - NTC - DeCA - UA Aula 08, 14-03-2012
  • 2. SQL | Structured Query Language Desenvolvida no início dos anos 70. Permite a interação com os SGBD e as BD aí existentes. Utilizada por todos os SGBDR (embora com pequenas diferenças!). Está estruturada em várias categorias: • Data Query Language (DQL) – consultar os dados existentes na BD • SELECT • Data Manipulation Language (DML) – criar e modificar os dados na BD • INSERT, UPDATE, DELETE • Data Definition Language (DDL) – criar e modificar objectos da BD (tabelas, views, …), ou a própria BD • CREATE, ALTER, DROP • Data Control Language (DCL) – gerir os privilégios dos utilizadores na gestão da BD, dos seus objectos e dos dados aí existentes • GRANT, REVOKE
  • 3. SQL | Operadores e algumas funções símbolo descrição exemplo observações = Igual EmployeeNo = 2 > Maior EmployeeNo > 2 < Menor EmployeeNo < 2 <> Diferente EmployeeNo <> 2 >= Maior ou igual EmployeeNo >= 2 <= Menor ou igual EmployeeNo <= 2 IN Igual a um valor dentro de uma EmployeeNo IN (2,3,4) colecção de valores LIKE Similar LastName LIKE ‘Nunes’ BETWEEN ... AND Dentro de um conjunto de valores, EmployeeNo BETWEEN 2 AND Equivalente a: incluindo os limites 4 EmployeeNo IN (2,3,4) IS NULL DateEmployed IS NULL IS NOT NULL DateEmployed IS NOT NULL NOW() Devolve a DATA e HORA do servidor
  • 4. SQL | Operadores Lógicos AND, OR e NOT • Estes operadores têm uma prioridade inferior relativamente aos apresentados no slide anterior • As prioridades podem ser alteradas através da utilização de ( ) símbolo descrição exemplo observações AND As duas expressões SalesNo > 3 AND Customer O AND tem maior prioridade do que têm que ter o valor < “Smith” o OR verdadeiro para o resultado final ser verdadeiro OR Se qualquer uma das SalesNo > 3 OR Customer < expressões tiver o “Smith” valor verdadeiro, o resultado final é verdadeiro NOT Inverte o resultado SalesNo NOT IN (2; 3; 4) booleano
  • 5. SQL: SELECT DISTINCT … FROM SELECT oficinasql.viaturas.Marca FROM oficinasql.viaturas; SELECT DISTINCT oficinasql.viaturas.Marca FROM oficinasql.viaturas;
  • 6. SQL: SELECT … FROM ... WHERE • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca < 'Fiat' OR oficinasql.viaturas.Marca > 'Smart'; • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE ((oficinasql.viaturas.Marca < 'Fiat') OR (oficinasql.viaturas.Marca > 'Smart')) AND oficinasql.viaturas.Modelo LIKE ‘C%’;
  • 7. SQL: SELECT … FROM ... WHERE • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca IN ('Citroen', 'Smart'); • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.Marca BETWEEN "Ferrari" AND "Renault" ORDER BY oficinasql.viaturas.Marca;
  • 8. SQL: exemplos • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.DataVenda IS NULL; • SELECT oficinasql.viaturas.Marca, oficinasql.viaturas.Modelo FROM oficinasql.viaturas WHERE oficinasql.viaturas.DataVenda IS NOT NULL;
  • 9. SQL: exemplos • SELECT oficinasql.viaturas.Marca FROM oficinasql.viaturas WHERE NOT oficinasql.viaturas.Marca IN ("Subaru", "Ferrari", "Renault");
  • 10. SQL: Funções pré-definidas Funções pré-definidas que trabalham sobre grupos de dados • AVG – valor médio • MIN– valor mínimo • MAX – valor máximo • COUNT – número de elementos • SUM – soma
  • 11. SQL: Funções pré-definidas • SELECT MAX(oficinasql.viaturas.Preco) FROM oficinasql.viaturas; • SELECT COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas;
  • 12. SQL: AS • SELECT COUNT(oficinasql.viaturas.Modelo) AS TotalViaturas FROM oficinasql.viaturas; TotalViaturas • SELECT COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas AS tViat ... a partir daqui podemos utilizar “tViat” sempre que for necessário referir a tabela “oficinasql.viaturas”;
  • 13. SQL: Funções pré-definidas • SELECT oficinasql.viaturas.Marca, COUNT(oficinasql.viaturas.Modelo) FROM oficinasql.viaturas GROUP BY oficinasql.viaturas.Marca;
  • 14. SQL INSERT INSERT INTO oficinasql.clientes VALUES (NULL, 'Joaquim Soares', 981234567, ‘Rua Estreita'); • Desta forma inserem-se valores em todos os campos da tabela pela ordem como estão declaradas as colunas • Utiliza-se o NULL em campos com AI (por exemplo, no caso da PK) ou onde não se queira inserir informação
  • 15. SQL INSERT INSERT INTO oficinasql.clientes (Nome,Idade) VALUES ('Serafim Saudade', 24); • Podem inserir-se valores apenas em alguns campos • Campos com AI serão actualizados automaticamente
  • 16. SQL UPDATE UPDATE oficinasql.clientes SET oficinasql.clientes.Nome = "Serafim Saudoso", oficinasql.clientes.Idade = 65 WHERE oficinasql.clientes.idClientes = 12;
  • 17. SQL DELETE DELETE FROM oficinasql.clientes WHERE oficinasql.clientes.idClientes = 12; DELETE FROM oficinasql.clientes; • Apagaria todos os registos da tabela!

Notas do Editor