Access
 sql >> Base de Dados >  >> RDS >> Access

Introdução às consultas especiais


Consultas parametrizadas

Introdução

Uma consulta parametrizada é uma consulta que não possui um valor em um critério. A palavra "faltando" aqui parece negativa para indicar algo ruim na consulta, mas não é assim. A consulta é criada propositalmente assim para que um valor seja fornecido ao seu filtro. No momento em que a consulta é criada, o filtro é configurado de uma determinada forma.

Uma consulta parametrizada é uma consulta que não possui um valor em um critério. A palavra "faltando" aqui parece negativa para indicar algo ruim na consulta, mas não é assim. A consulta é criada propositalmente assim para que um valor seja fornecido ao seu filtro. No momento em que a consulta é criada, o filtro é configurado de uma determinada forma. Quando a consulta é executada, o valor ausente deve ser fornecido para concluir o critério, então a consulta é concluída e o resultado da consulta é produzido. Na maioria das vezes, uma consulta parametrizada é criada para que o usuário especifique o(s) registro(s) específico(s) a serem produzidos.

Embora tenhamos especificado que a consulta é parametrizada, na verdade é a instrução SQL que é parametrizada. Isso significa que você pode criar uma expressão SQL usada como fonte de registro de um formulário ou relatório, mas obrigar o usuário a fornecer as informações ausentes para que o formulário ou relatório exiba apenas os registros que usam esse valor.

Aprendizagem prática:introdução de consultas parametrizadas
  1. Iniciar o Microsoft Access
  2. Na lista de arquivos, clique em Altair Realtors3 da lição anterior
  3. Na faixa de opções, clique em Criar e clique em Design de consulta
  4. Na caixa de diálogo Mostrar tabela, clique em Propriedades, clique em Adicionar e clique em Fechar
  5. Na lista superior, clique duas vezes em PropertyNumber, PropertyType, City, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition e MarketValue
  6. Para ver os resultados, na barra de status, clique no botão Folha de dados
  7. Se necessário, na Faixa de Opções, clique em Página inicial.
    Altere as seguintes características:
    Nome da fonte:Calisto MT (se você não tiver essa fonte, selecione Times New Roman)
    Cor de fundo:verde, acento 6, mais claro 40% (cores do tema:10ª coluna, 4ª linha)
    Cor da linha alternativa:Verde, Acento 6, Mais claro 80% (Cores do tema:10ª coluna, 2ª linha)

  8. Depois de visualizar o resultado, na seção Visualizações da Faixa de Opções, clique na seta abaixo do botão Visualizar e clique em Visualização SQL
  9. Altere a instrução SQL da seguinte forma:
    SELECT Properties.PropertyNumber,
           Properties.PropertyType AS [Property Type],
           Properties.City,
           Properties.Bedrooms AS Beds,
           Properties.Bathrooms AS Baths,
           Properties.FinishedBasement AS [Basement?],
           Properties.IndoorGarage AS [Garage?],
           Properties.Condition,
           Properties.MarketValue AS [Market Value]
    FROM   Properties;
  10. Exibir a visualização de design da consulta

Como criar uma consulta parametrizada

Ao criar uma consulta parametrizada, você deve fornecer um parâmetro para ela. Para continuar, abra a consulta no Modo Design e selecione as colunas necessárias. Na caixa Critérios do campo que conterá os critérios, digite os colchetes[]. Dentro dos colchetes, digite o que quiser, como uma mensagem ou uma pergunta. A mensagem ou pergunta será apresentada ao usuário que deverá digitar um valor em uma caixa de texto. Depois que o usuário fornecer o valor e clicar em OK ou pressionar Enter, a consulta será executada.

Aprendizado prático:criando uma expressão SQL parametrizada
  1. Clique na caixa Critérios da coluna PropertyNumber e digite:[Digite o número da propriedade para visualizar:]

  2. Mude a consulta para a Visualização de folha de dados para ver o resultado
  3. Digite o número da propriedade como 192703

  4. Clique em OK

  5. Retornar à visualização de design
  6. Excluir [digite a propriedade # para visualizar:]
  7. Clique na caixa Critérios da coluna Tipo de propriedade e digite:[Digite o tipo de propriedade que deseja ver:]

  8. Mude a consulta para a Visualização de folha de dados para ver o resultado
  9. Digite o tipo de propriedade como casa geminada

  10. Pressione Enter

  11. Retornar à visualização de design

Conjunção Parametrizada

Você pode criar uma consulta parametrizada que fez duas ou mais perguntas que devem ser combinadas para concluir a consulta. Para fazer isso, no Modo Design da consulta, insira uma mensagem para a caixa Critérios de cada coluna.

Aprendizagem prática:criando uma disjunção parametrizada
  1. Clique na caixa Critérios da coluna Quartos e digite [De quantos quartos você precisa?]

  2. Mude a consulta para a Visualização de folha de dados para ver o resultado
  3. Digite o tipo de propriedade como uma única família e pressione Enter
  4. Digite o número de quartos como 5 e pressione Enter

  5. Retornar à visualização de design
  6. Excluir [De quantos quartos você precisa?]

Disjunção Parametrizada

Uma disjunção parametrizada solicita dois ou mais valores. A consulta produz todos os registros que incluem qualquer um dos valores. Para criar essa consulta parametrizada, adicione a primeira pergunta ou mensagem à caixa Critérios do campo desejado. Em seguida, adicione a segunda mensagem ou pergunta à caixa Ou da mesma coluna. Se você precisar de valores adicionais, insira suas perguntas ou mensagens nas caixas abaixo da célula Ou da mesma coluna.

Aprendizagem prática:criando uma disjunção parametrizada
  1. Clique na caixa Ou da coluna Tipo de propriedade e digite [Que outro tipo de propriedade você deseja ver?]

  2. Mude a consulta para a Visualização de folha de dados para ver o resultado
  3. Digite o primeiro tipo de propriedade como casa geminada e pressione Enter
  4. Digite o segundo tipo de propriedade como família única e pressione Enter

  5. Feche a consulta sem salvá-la

Consultas de ação

Introdução

O Microsoft Access fornece algumas consultas prontas que permitem executar ações semicomplexas em tabelas existentes. As ações são executadas como consultas. Ao usar uma consulta de ação, você não está criando uma consulta regular no sentido estrito. A maioria dessas consultas geralmente é útil apenas uma vez. Por esse motivo, dificilmente você precisará salvá-los.

A consulta de ação de criação de tabela

Em vez de primeiro criar uma tabela e preenchê-la com valores, se você já tiver valores armazenados em uma tabela, o Microsoft Access permite criar uma nova tabela preenchida com valores dessa tabela.

Usando consultas, existem duas técnicas principais que você pode usar para criar uma nova tabela para seu banco de dados. O Microsoft Access fornece uma técnica chamada Make Table Query. Esse tipo de consulta é usado para recuperar todos ou alguns campos de uma tabela existente e, em vez de criar uma nova consulta que depende de uma tabela existente, você obteria uma tabela totalmente nova, independente de qualquer tabela existente. Esse tipo de ação pode permitir que você crie uma nova tabela com base em uma regra aplicada a uma tabela existente.

Para criar uma tabela usando uma consulta do Microsoft Access, inicie uma nova consulta no modo de design. Em seguida, na seção Tipo de Consulta da Faixa de Opções, clique no botão Criar Tabela . Isso apresentaria uma caixa de diálogo Criar tabela que permite especificar um novo nome para a consulta ou selecionar uma tabela existente que receberia os novos dados.

Aprendizado prático:usando consultas Make-Table
  1. O banco de dados Altair Realtors3 ainda deve estar aberto.
    Na faixa de opções, clique em Criar e, na seção Consultas, clique em Design de consulta
  2. Na caixa de diálogo Mostrar tabelas, clique em Propriedades, clique em Adicionar e clique em Fechar
  3. Na seção Tipo de consulta da Faixa de opções, clique no botão Criar tabela
  4. Na caixa de combinação Nome da tabela, digite Condomínios como o nome da tabela

  5. Certifique-se de que o botão de opção Banco de dados atual esteja selecionado e clique em OK
  6. Na lista Propriedades, clique duas vezes em PropertyNumber, PropertyType, City, Locality, State, Bedrooms, Bathrooms, FinishedBasement, IndoorGarage, Condition e MarketValue
  7. Na parte inferior da janela, clique na caixa Critérios da coluna PropertyType e digite condominium
  8. Clique na caixa de seleção Mostrar para remover a marca de seleção

  9. Para criar a tabela, na Faixa de Opções, clique no botão Executar
  10. Você receberá uma mensagem

  11. Leia e clique em Sim
  12. Feche a consulta sem salvá-la
  13. No Painel de Navegação, clique duas vezes na tabela Condomínios

  14. Fechar a tabela

A consulta de atualização

Se você tiver uma lista grande e muitos registros precisarem receber uma alteração comum, poderá criar uma consulta especial denominada Consulta de atualização. Uma Consulta de Atualização permite alterar os valores existentes de uma ou mais colunas de uma tabela. Em outras palavras, você pode recuperar os valores que já estão nos campos de uma tabela, alterar esses valores e ter a tabela salva com eles.

Para criar uma consulta de acréscimo, inicie uma consulta no modo de design. Na seção Tipo de Consulta da Faixa de Opções, clique no botão Atualizar . Ao criar a consulta, você terá que definir uma condição que o Microsoft Access aplicará a uma tabela para descobrir quais registros precisam ser atualizados. Para fazer isso, você usa a caixa Critérios de uma coluna, assim como aprendemos durante a análise dos dados.

Aprendizagem prática:atualização de registros
  1. Abra o banco de dados Metro System1 da Lição 18
  2. No Painel de Navegação, clique duas vezes na tabela Silver Line para visualizar seus registros

  3. Fechar a tabela
  4. Na faixa de opções, clique em Criar e, na seção Consultas, clique em Design de consulta
  5. Na caixa de diálogo Mostrar tabelas, clique em Silver Line, clique em Add e clique em Close
  6. Na seção Tipo de consulta da Faixa de opções, clique no botão Atualizar
  7. Na lista superior, clique duas vezes em MetroLine
  8. Na parte inferior da janela, clique na caixa Critérios da coluna MetroLine e digite Prata

  9. Para executar a ação, na Faixa de Opções, clique no botão Executar
  10. Você receberá uma caixa de mensagem

    Leia e clique em Sim
  11. Feche a consulta sem salvá-la
  12. No Painel de Navegação, clique duas vezes na tabela Silver Line para revisá-la

  13. Fechar a tabela

Uma consulta anexa

Se você tiver uma tabela com um número significativo de registros e precisar adicioná-los a outra tabela, o trabalho pode se tornar cansativo. O Microsoft Access fornece um recurso para criar uma consulta especial que pode ser usada para adicionar vários registros a uma tabela em uma etapa.

Uma consulta de acréscimo permite adicionar registros a uma tabela existente, mas você não cria os registros. Eles devem ser recuperados de uma tabela e adicionados a outra tabela.

Para criar uma consulta de acréscimo, inicie uma consulta no modo de design. Na seção Tipo de Consulta da Faixa de Opções, clique no botão Acrescentar . Será apresentada uma caixa de diálogo que espera que você selecione a tabela à qual adicionará os registros ou especifique o nome de uma nova tabela que receberia os registros. Se você quiser adicionar os registros a uma tabela existente, poderá selecioná-la na caixa de combinação.

Como você pode imaginar, anexar um registro consiste em adicionar um registro a uma tabela. Se você quiser fazer isso em SQL, basta criar um INSERT demonstração.

Aprendizagem prática:anexando registros
  1. O banco de dados Metro System1 ainda deve estar aberto.
    No painel de navegação, clique duas vezes na tabela MetroStations e role completamente para baixo na lista
  2. Observe que não há estações para a linha Silver.
    Feche a tabela
  3. Na faixa de opções, clique em Criar e, na seção Consultas, clique em Design de consulta
  4. Na caixa de diálogo Mostrar tabela, clique em Silver Line, clique em Add e clique em Close
  5. Na seção Tipo de consulta da Faixa de opções, clique no botão Anexar
  6. Na caixa de diálogo Anexar, clique na seta da caixa de combinação Nome da tabela e selecione MetroStations

  7. Clique em OK
  8. Na lista superior, clique duas vezes em StationNumber, StationName, MetroLine e Location
  9. Para executar a consulta, na Faixa de Opções, clique no botão Executar
  10. Leia a mensagem:

    Em seguida, clique em Sim
  11. Feche a consulta sem salvá-la
  12. No Painel de Navegação, clique duas vezes na tabela MetroStations e role completamente para baixo na lista
  13. Observe que agora ele contém estações para a linha Silver.
    Feche a tabela

A consulta de exclusão

Se você tiver alguns registros que precisam ser removidos de uma tabela, o Microsoft Access fornece várias técnicas para excluir esses registros. Para excluir um grupo de registros em uma ação, você pode criar uma consulta especial chamada Excluir consulta.

Como todas as outras consultas de ação, uma consulta de exclusão permite selecionar os campos necessários de uma tabela. A primeira diferença entre esta e a Consulta de Seleção é que a Consulta de Exclusão, como todas as outras consultas de ação, seleciona ou considera todos os campos, mesmo aqueles que você não inclui em sua instrução. As outras colunas são aquelas que seriam usadas para especificar as regras sob as quais um registro deve ser excluído.

Você pode usar um critério ou vários critérios para definir a regra a ser seguida para se livrar de (um) registro(s). Como a maioria das outras consultas de ação, a ação de uma consulta de exclusão é irreversível.

Aprendizagem prática:excluindo registros de banco de dados
  1. O banco de dados Metro System1 ainda deve estar aberto.
    No painel de navegação, clique duas vezes na tabela MetroStations para abri-la
  2. Role para baixo e observe que algumas estações são para a linha Maroon, mas sabemos que não há linha de metrô Maroon
  3. Fechar a tabela MetroStations
  4. Na faixa de opções, clique em Criar e, na seção Consultas, clique em Design de consulta
  5. Na caixa de diálogo Mostrar tabelas, clique em MetroStations, clique em Adicionar e clique em Fechar
  6. Na seção Tipo de Consulta da Faixa de Opções, clique no botão Excluir
  7. Na lista superior, clique duas vezes em MetroLine
  8. Na parte inferior, clique na caixa Critérios da coluna e digite maroon

  9. Para executar a ação, na Faixa de Opções, clique no botão Executar
  10. Você receberá uma caixa de mensagem

  11. Leia e clique em Sim
  12. No Painel de Navegação, clique duas vezes na tabela MetroStations para abri-la
  13. Role para baixo e observe que não há mais estações Maroon
  14. Fechar a tabela MetroStations
  15. Fechar a tabela

Operações especiais em consultas

Mesclando os registros de muitas tabelas

Se você tiver várias tabelas, poderá criar uma consulta que combine seus registros para poder examinar esses registros quando forem reunidos. Para ajudá-lo com isso, o SQL fornece um operador chamado UNION . A fórmula primária para usá-lo é:
SELECT columns-names FROM table-name1
UNION [ALL]
SELECT columns-names FROM table-name2

Thyis é equivalente a criar dois SELECT declarações. Cada um contém algumas colunas e uma tabela. Ambas as instruções devem conter o mesmo número de colunas. Os tipos de dados das colunas em cada posição devem ser compatíveis.

Aprendizado prático:mesclando os registros de muitas tabelas
  1. Abra o banco de dados Ceil Inn3 da Lição 40
  2. Na faixa de opções, clique em Criar e, na seção Consultas, clique em Design de consulta
  3. Na caixa de diálogo Mostrar tabela, clique duas vezes em Funcionários e funcionários
  4. Clique em Fechar
  5. Na lista Funcionários, clique duas vezes em EmployeeNumber, FirstName e LastName
  6. Na lista Clerks, clique duas vezes em ClerkCode, FirstName e LastName

  7. Clique com o botão direito do mouse na janela de consulta e clique em Visualização SQL
  8. Altere a instrução SQL da seguinte forma:
    SELECT Employees.EmployeeNumber,
           Employees.FirstName,
           Employees.LastName
    FROM Employees
    UNION
    SELECT Clerks.ClerkCode,
           Clerks.FirstName,
           Clerks.LastName
    FROM Clerks;
  9. Para executar a consulta, clique no botão Executar

  10. Fechar a consulta
  11. Quando perguntado se deseja salvar, clique em Não

Selecionando em uma tabela

Se você tiver alguns registros em uma tabela existente, poderá copiar todos ou alguns desses registros para colocá-los em uma nova tabela criada. Para isso, a fórmula a seguir é:
SELECT fields INTO new-table-name FROM existing-table [WHERE condition]

Para usar todas as colunas e todos os registros, comece com o SELECT operador, seguido por *, seguido por INTO , seguido por um nome para a tabela que você deseja criar, seguido por FROM e o nome da tabela original que contém os registros. Aqui está um exemplo:
SELECT * INTO CompanyRecipients FROM Employees;

Em vez de usar todas as colunas, você pode especificar apenas o campo desejado após o SELECT palavra-chave. Aqui está um exemplo:
SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus
INTO Salaried FROM Employees;

Em vez de usar todos os registros, você pode usar uma condição pela qual os registros seriam selecionados e adicionados à nova tabela que você está criando. Para definir a condição, você pode criar um WHERE declaração como a última em toda a expressão. Aqui está um exemplo:
SELECT *
INTO FullTimeEmployees
FROM Employees
WHERE EmploymentStatus = 'Full Time';

Removendo todos os registros de uma tabela

No SQL, para remover todos os registros de uma tabela, use o DELETE comando. A fórmula a seguir é:
DELETE columns-names FROM table-name;

Normalmente, você usa * como os nomes-colunas . O nome da tabela O parâmetro deve ser um nome válido de uma tabela do banco de dados atual. Aqui está um exemplo:
DELETE * FROM States;

Ao executar, você receberá um aviso:



Se você clicar em Sim, todos os registros da tabela serão removidos.

Apagando alguns registrosx

Para excluir um ou mais registros, adicione um WHERE condição para um EXCLUIR comando. A fórmula a seguir é:
DELETE columns-names FROM table-name WHERE condition;

O ONDE A cláusula especifica a condição pela qual alguns registros serão excluídos. Aqui está um exemplo:
DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";

Mais uma vez, ao executar, você receberá um aviso que permite decidir se deseja continuar a operação.

Aprendizagem prática:finalizando a lição
  • Fechar o Microsoft Access