TL;DR: Vamos ver como usar o Syncfusion JavaScript Query Builder para unir duas tabelas. Este blog orienta você na criação de um JoinComponent personalizado e na configuração de cláusulas WHERE, SELECT e JOIN usando caixas de listagem e menus suspensos. As etapas garantem a geração eficiente de consultas, facilitando a conexão e o gerenciamento de fontes de dados complexas. Confira a demonstração do Stackblitz para exemplos de código completos.
Syncfusion JavaScript Query Builder é um elemento de UI interativo projetado para criar consultas. Seus recursos avançados incluem vinculação de dados complexos, modelos, importação e exportação de consultas em formatos JSON e SQL. Além disso, ele pode converter consultas em predicados para uso com um gerenciador de dados.
Este blog explica como unir duas tabelas usando o componente JavaScript Query Builder. Aqui, integraremos o componente Query Builder com suporte complexo de vinculação de dados para conectar duas tabelas distintas. Criaremos a consulta para a cláusula SQL WHERE, incorporaremos uma caixa de listagem para criar a cláusula SELECT e uma lista suspensa para agilizar a construção de consultas de junção.
Observação: Antes de continuar, consulte a documentação de introdução ao JavaScript Query Builder.
Vamos criar um componente personalizado conhecido como JoinComponent para facilitar a criação de consultas de junção e oferecer flexibilidade por meio de um conjunto de parâmetros. Com este componente, os usuários podem especificar o ID do elemento, fontes de dados para as tabelas, nomes de tabelas e operandos esquerdo e direito, todos essenciais para a construção de consultas de junção.
Dentro deste JoinComponent, integraremos o JavaScript Query Builder dentro de um componente Dialog. Também incorporaremos componentes ListBox e Dropdown List para aprimorar a experiência do usuário e agilizar o processo de configuração e execução de operações de junção. O resultado é um componente versátil e fácil de usar que simplifica a criação de consultas de junção.
Você pode consultar o exemplo de código para criar o JoinComponent personalizado neste repositório Stackblitz.
Depois que o componente personalizado for criado, siga estas etapas para unir duas tabelas.
A cláusula SQL WHERE filtra registros em um banco de dados de acordo com as condições especificadas.
Nesse contexto, nosso componente JavaScript Query Builder desempenha um papel crucial na obtenção do valor para a cláusula WHERE. Suporta vinculação de dados complexa, permitindo a geração de regras e consultas SQL combinando informações de duas tabelas. Essa funcionalidade é obtida usando uma diretiva de coluna para especificar tabelas complexas e incluindo uma propriedade separador dentro do componente.
Ao configurar essas propriedades, o Query Builder será renderizado com duas tabelas, produzindo uma consulta de junção resultante semelhante ao trecho de código fornecido abaixo.
Employees.FirstName LIKE (“%Nancy%”)
A cláusula SELECT em SQL designa as colunas ou expressões que desejamos recuperar de uma ou mais tabelas do banco de dados. Para facilitar isso, renderizaremos um componente de caixa de listagem para selecionar as colunas necessárias da tabela esquerda e direita.
A união de tabelas envolve a combinação de linhas de duas ou mais tabelas com base na coluna ou colunas relacionadas. Ele recupera dados distribuídos em várias tabelas e cria um conjunto de resultados que combina informações relevantes dessas tabelas.
Aqui estão os principais aspectos da união de tabelas:
Para realizar uma operação de junção, precisamos de colunas relacionais, um tipo de junção e uma condição de junção. Para facilitar isso, renderizaremos um componente de lista suspensa para selecionar os operandos Esquerdo e Direito. A lista suspensa Tipo de junção fornece opções para diferentes tipos de junções , como INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL OUTER JOIN. Por último, a lista suspensa Operador permite especificar as condições para conectar os dois operandos.
Consulte a imagem a seguir.
Para incorporar o JoinComponent personalizado em seu aplicativo, importe-o e coloque-o em um elemento div durante a renderização. Você pode fornecer propriedades essenciais para adaptar o componente às suas necessidades, simplificando sua integração na interface do usuário do seu aplicativo.
Ao clicar no botão Filtrar, o componente Query Builder será exibido, permitindo ao usuário construir uma consulta. Posteriormente, clicar no botão Copiar copiará a consulta gerada para a área de transferência.
Consulte o exemplo de código a seguir para renderizar o componente personalizado na página HTML.
Consulte o seguinte código Typescript para renderizar o componente personalizado.
import { JoinComponent } from './JoinComponent'; let ordersData = [ { "OrderID": 10248, "CustomerID": 9, "EmployeeID": 5,"OrderDate": "7/4/1996","ShipperID": 3}, { "OrderID": 10249, "CustomerID": 81, "EmployeeID": 6,"OrderDate": "7/5/1996","ShipperID": 1} ]; let employeesData = [ { "EmployeeID": 1, "LastName": "Davolio", "FirstName": "Nancy", "BirthDate": "12/8/1968"}, { "EmployeeID": 2, "LastName": "Fuller", "FirstName": "Andrew", "BirthDate": "2/19/1952 "}, { "EmployeeID": 3, "LastName": "Leverling", "FirstName": "Janet", "BirthDate": "8/30/1963"}, { "EmployeeID": 4, "LastName": "Peacock", "FirstName": "Margaret", "BirthDate": "9/19/1958"}, { "EmployeeID": 5, "LastName": "Buchanan", "FirstName": "Steven", "BirthDate": "3/4/1955"}, { "EmployeeID": 6, "LastName": "Suyama", "FirstName": "Michael", "BirthDate": "7/2/1963"} ]; let comp: JoinComponent = new JoinComponent( 'join', // component ID ordersData, // left table employeesData, // right table 'Orders', // left table name 'Employees', // right table name 'EmployeeID’, // left operand 'EmployeeID' // right operand );
Consulte as imagens a seguir que exibem o Query Builder e as interfaces de usuário do componente de junção.
O exemplo de consulta de junção é o seguinte e você pode validar essa consulta diretamente usando este link.
SELECT Orders.OrderID, Orders.OrderDate, Employees.EmployeeID FROM (Orders INNER JOIN Employees ON (Orders.EmployeeID = Employees.EmployeeID)) WHERE(Employees.FirstName LIKE ('%Nancy%'))
Para obter mais detalhes, consulte o exemplo de código completo para unir duas tabelas usando o JavaScript Query Builder no Stackblitz.
Obrigado pela leitura! Neste blog, exploramos como unir duas tabelas usando Syncfusion JavaScript Query Builder. Siga estas etapas para obter resultados semelhantes e sinta-se à vontade para compartilhar suas idéias ou perguntas nos comentários abaixo.
Se você já é um cliente, pode baixar a versão mais recente do Essential Studio na página Licença e downloads. Para quem é novo no Syncfusion, experimente nosso teste gratuito de 30 dias para explorar todos os nossos recursos.
Você pode entrar em contato conosco por meio de nosso fórum de suporte, portal de suporte ou portal de feedback. Estamos aqui para ajudá-lo a ter sucesso!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3