O melhor tutorial SQLite subconsulta em 2024. Neste tutorial você pode aprender subconsulta instrução SELECT,Exemplos,INSERÇÃO subconsulta de instrução,Exemplos,ATUALIZAÇÃO subconsulta de instrução,Exemplos,subconsulta instrução DELETE,Exemplos,
Subquery ou consultas aninhadas ou consulta interna é incorporado na consulta cláusula WHERE dentro de outra consulta SQLite.
O uso da sub-consulta devolve os dados serão utilizados na consulta principal como uma condição para limitar ainda mais os dados a serem recuperados.
Subqueries pode ser usado com SELECT, INSERT, UPDATE e DELETE podem ser acompanhados pelos operadores de uso como =, <,>,> =, <=, IN, ENTRE gosta.
O que se segue é uma subconsulta várias regras que devem ser seguidas:
Subqueries devem ser colocados entre parênteses.
Sub-consulta cláusula SELECT só pode ter uma coluna, a menos que várias colunas na consulta principal, a comparação coluna subconsulta selecionado.
POR ORDEM não pode ser usado em uma subconsulta, embora o principal consulta pode utilizar ORDER BY. Você pode usar o GROUP BY em subconsultas, funciona o mesmo que o ORDER BY.
retornos subconsulta mais do que uma linha, só pode ser usado com o operador de multi-valor, tais como o operador IN.
ENTRE operador não pode ser usado com sub-consultas, no entanto, ENTRE pode ser usado dentro de subconsultas.
Subquery geralmente é usado com uma instrução SELECT. A sintaxe básica é a seguinte:
column_name SELECT [, column_name] FROM table1 [, table2] Onde o operador column_name (Column_name SELECT [, column_name] FROM table1 [, table2] [WHERE])
mesa EMPRESA Suponha que tem os seguintes registros:
ID NOME SALÁRIO IDADE ENDEREÇO ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norway 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 Sul-Hall 45.000,0 7 James 24 Houston 10000.0
Agora, vamos examinar a subconsulta instrução SELECT:
sqlite> SELECT * De Company WHERE ID IN (SELECT ID De Company WHERE SALÁRIO> 45000);
Isto produz os seguintes resultados:
ID NOME SALÁRIO IDADE ENDEREÇO ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 85.000,0
Subqueries também pode ser usado com a instrução INSERT. INSERT usa uma subconsulta para retornar dados em outra tabela. Na sub-consulta os dados selecionados podem ser qualquer caractere, data, ou modificação função numérica.
A sintaxe básica é a seguinte:
INSERT INTO table_name [(column1 [, column2])] SELECT [* | coluna1 [, column2] FROM table1 [, table2] [Onde o valor OPERADOR]
Suponha COMPANY_BKP COMPANY estrutura da tabela e semelhantes, e pode usar o mesmo CREATE TABLE para criar, apenas mudou o nome do COMPANY_BKP mesa. Agora copie a tabela a companhia inteira para COMPANY_BKP, a sintaxe é a seguinte:
sqlite> INSERT INTO COMPANY_BKP * SELECT FROM COMPANY WHERE ID IN (SELECT ID De Company);
Subqueries pode ser usado com a instrução UPDATE. Ao usar um instrução UPDATE subconsulta, colunas simples ou múltiplos são atualizados na tabela.
A sintaxe básica é a seguinte:
UPDATE tabela SET nome_coluna = novo_valor [Onde o operador [VALUE] (Selecione COLUMN_NAME DE TABLE_NAME) [WHERE)]
Suponha que temos mesa COMPANY_BKP, mesa COMPANY backup.
Os seguintes exemplos de tabela de COMPANY Toda a idade igual ou superior a 27 clientes SALÁRIO atualizou a 0,50 vezes originais:
sqlite> Atualização COMPANY SET SALÁRIO = SALÁRIO * 0,50 Onde a idade IN (SELECT em geral de COMPANY_BKP Onde a idade> = 27);
Isto irá afectar as duas linhas dos últimos registros da companhia na tabela da seguinte forma:
ID NOME SALÁRIO IDADE ENDEREÇO ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 10000.0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norway 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 42.500,0 6 Kim 22 Sul-Hall 45.000,0 7 James 24 Houston 10000.0
Subqueries pode ser usado com a instrução DELETE, assim como outras declarações como mencionado acima.
A sintaxe básica é a seguinte:
DELETE FROM TABLE_NAME [Onde o operador [VALUE] (Selecione COLUMN_NAME DE TABLE_NAME) [WHERE)]
Suponha que temos mesa COMPANY_BKP, mesa COMPANY backup.
Os exemplos a seguir excluir todos os registros de clientes maior ou igual tabela COMPANY AGE 27:
sqlite> DELETE FROM COMPANY Onde a idade IN (SELECT em geral de COMPANY_BKP Onde a idade> 27);
Isto irá afectar as duas linhas dos últimos registros da companhia na tabela da seguinte forma:
ID NOME SALÁRIO IDADE ENDEREÇO ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norway 20.000,0 4 Mark 25 Rich-Mond 65.000,0 5 David 27 Texas 42.500,0 6 Kim 22 Sul-Hall 45.000,0 7 James 24 Houston 10000.0