Como usar e não em predicados em instruções sql
o DENTRO
Conteúdo
Video: Português - Estudo do Predicado I: Nominal e verbal
Você pode, por exemplo, tem uma tabela que lista os fornecedores de uma mercadoria que suas compras da empresa em uma base regular. Você quer saber os números de telefone dos fornecedores localizados no noroeste do Pacífico. Pode encontrar estes números usando predicados de comparação, tal como os mostrados no exemplo a seguir:
Empresa SELECT, PhoneFROM SUPPLIERWHERE State = `ou` ou State = `WA` OR State = `ID` -
Você também pode usar o DENTRO predicado para executar a mesma tarefa, como segue:
Select Company, PhoneFROM SUPPLIERWHERE Estado IN ( `OR`, `WA`, `ID`) -
Esta formulação é um pouco mais compacto do que o um usando predicados de comparação e lógica OU. Ele também elimina qualquer possibilidade de confusão entre a lógica OU operador ea abreviatura para o estado do Oregon.
o NÃO EM versão deste predicado funciona da mesma maneira. Dizer que você tem locais na Califórnia, Arizona e Novo México, e para evitar o pagamento de imposto sobre vendas, você quer considerar o uso de fornecedores localizados em qualquer lugar exceto naqueles estados. Utilize a seguinte construção:
Select Company, PhoneFROM SUPPLIERWHERE Estado NOT IN ( `CA`, `AZ`, `NM`) -
usando o DENTRO palavra-chave desta forma poupa-lhe um pouco de digitação - embora (francamente) que não é muito de uma vantagem. Você pode fazer o mesmo trabalho usando predicados de comparação.
Você pode ter outra boa razão para usar o DENTRO predicado em vez de predicados de comparação, mesmo se estiver usando DENTRO não salva muita digitação: Seus DBMS provavelmente implementa os dois métodos de forma diferente, e um dos métodos pode ser significativamente mais rápido do que o outro em seu sistema.
Você pode querer executar uma comparação de desempenho nos dois modos de exprimir a inclusão (ou exclusão) um grupo e, em seguida, usar a técnica que produz o resultado mais rápido. Um DBMS com um bom otimizador provavelmente vai escolher o método mais eficiente, independentemente de qual predicado que você usa.
Video: Predicados Verbais - Professor Leo
o DENTRO palavra-chave é valioso em outra área, também. E se DENTRO é parte de uma subconsulta, a palavra-chave permite que você puxar informações de duas tabelas para obter resultados que você não pode derivar de uma única tabela. Aqui está um exemplo que mostra como uma subconsulta usa o DENTRO palavra-chave.
Suponha que você queira exibir os nomes de todos os clientes que já compraram o produto F-35 nos últimos 30 dias. nomes de clientes são na tabela de cliente e dados de transações de vendas é na tabela de TRANSACT. Você pode usar a seguinte consulta:
SELECCIONAR NomePróprio, LastNameFROM CUSTOMERWHERE Cliente EM (SELECCIONAR CustomerIDFROM TRANSACTWHERE ProductID = `F-35`AND TransDate gt; = (CurrentDate - 30)) -
O interior SELECIONAR dos ninhos tabela TRANSACT dentro do exterior SELECIONAR da tabela de clientes. O interior SELECIONAR encontra o Identificação do Cliente números de todos os clientes que compraram o produto F-35 nos últimos 30 dias. O exterior SELECIONAR exibe os nomes e sobrenomes de todos os clientes cujas Identificação do Cliente é recuperado pelo interior SELECIONAR.