DbPHP

DbPHP

v1.0.0

Laboratório Interativo & Telemetria em Tempo Real (SQLite In-Memory)

Tempo de Execução
0.069 ms
0.000069 s
Registros Retornados
11
$result->count
Driver Ativo
SQLite PDO
:memory: (Zero overhead)
Memória da Query
6.92 KB
Peak isolado da query
RELATIONAL JOIN

Relatório Relacional com Múltiplos JOINs

Combina 4 tabelas relacionais (Pedidos, Clientes, Itens e Produtos) com cálculo de subtotal por linha em SQL nativo.

id_pedidonome_clienteufnome_produtoqtdpreco_unitariosubtotalstatus
1Ana SousaMGPLA Preto 1kg2R$ 89,90R$ 179,80concluido
1Ana SousaMGBico Extrusor 0.4mm1R$ 35,00R$ 35,00concluido
2Helio MarquesMGBico Extrusor 0.4mm5R$ 35,00R$ 175,00concluido
3Carlos LimaSPPLA Preto 1kg1R$ 89,90R$ 89,90pendente
4Ana SousaMGPETG Branco 1kg3R$ 95,50R$ 286,50concluido
5Beatriz RochaBASecador de Filamento1R$ 299,90R$ 299,90concluido
6Rodrigo RamosPRSensor Nivelamento Auto2R$ 149,00R$ 298,00concluido
7Fernanda CostaRSFilamento TPU Flexível 1kg4R$ 139,90R$ 559,60concluido
8Carlos LimaSPAlicate de Precisão3R$ 28,50R$ 85,50cancelado
9Beatriz RochaBAImpressora 3D CoreXY K11R$ 3.450,00R$ 3.450,00concluido
10Lucas MendesSPPLA Preto 1kg5R$ 89,90R$ 449,50concluido
PHP 8.2+ · Prepared Statements & Facade DB
$result = DB::query("
    SELECT
        p.id_pedido,
        c.nome_cliente,
        c.uf,
        pr.nome_produto,
        i.qtd,
        i.preco_unitario,
        ROUND(i.qtd * i.preco_unitario, 2) AS subtotal,
        p.status
    FROM pedidos p
    INNER JOIN clientes c ON c.id_cliente = p.id_cliente
    INNER JOIN itens_pedido i ON i.id_pedido = p.id_pedido
    INNER JOIN produtos pr ON pr.id_produto = i.id_produto
    ORDER BY p.id_pedido ASC, subtotal DESC
");
Formato JSON do resultado ($result->rows)
[
    {
        "id_pedido": 1,
        "nome_cliente": "Ana Sousa",
        "uf": "MG",
        "nome_produto": "PLA Preto 1kg",
        "qtd": 2,
        "preco_unitario": 89.9,
        "subtotal": 179.8,
        "status": "concluido"
    },
    {
        "id_pedido": 1,
        "nome_cliente": "Ana Sousa",
        "uf": "MG",
        "nome_produto": "Bico Extrusor 0.4mm",
        "qtd": 1,
        "preco_unitario": 35,
        "subtotal": 35,
        "status": "concluido"
    },
    {
        "id_pedido": 2,
        "nome_cliente": "Helio Marques",
        "uf": "MG",
        "nome_produto": "Bico Extrusor 0.4mm",
        "qtd": 5,
        "preco_unitario": 35,
        "subtotal": 175,
        "status": "concluido"
    },
    {
        "id_pedido": 3,
        "nome_cliente": "Carlos Lima",
        "uf": "SP",
        "nome_produto": "PLA Preto 1kg",
        "qtd": 1,
        "preco_unitario": 89.9,
        "subtotal": 89.9,
        "status": "pendente"
    },
    {
        "id_pedido": 4,
        "nome_cliente": "Ana Sousa",
        "uf": "MG",
        "nome_produto": "PETG Branco 1kg",
        "qtd": 3,
        "preco_unitario": 95.5,
        "subtotal": 286.5,
        "status": "concluido"
    },
    {
        "id_pedido": 5,
        "nome_cliente": "Beatriz Rocha",
        "uf": "BA",
        "nome_produto": "Secador de Filamento",
        "qtd": 1,
        "preco_unitario": 299.9,
        "subtotal": 299.9,
        "status": "concluido"
    },
    {
        "id_pedido": 6,
        "nome_cliente": "Rodrigo Ramos",
        "uf": "PR",
        "nome_produto": "Sensor Nivelamento Auto",
        "qtd": 2,
        "preco_unitario": 149,
        "subtotal": 298,
        "status": "concluido"
    },
    {
        "id_pedido": 7,
        "nome_cliente": "Fernanda Costa",
        "uf": "RS",
        "nome_produto": "Filamento TPU Flexível 1kg",
        "qtd": 4,
        "preco_unitario": 139.9,
        "subtotal": 559.6,
        "status": "concluido"
    },
    {
        "id_pedido": 8,
        "nome_cliente": "Carlos Lima",
        "uf": "SP",
        "nome_produto": "Alicate de Precisão",
        "qtd": 3,
        "preco_unitario": 28.5,
        "subtotal": 85.5,
        "status": "cancelado"
    },
    {
        "id_pedido": 9,
        "nome_cliente": "Beatriz Rocha",
        "uf": "BA",
        "nome_produto": "Impressora 3D CoreXY K1",
        "qtd": 1,
        "preco_unitario": 3450,
        "subtotal": 3450,
        "status": "concluido"
    },
    {
        "id_pedido": 10,
        "nome_cliente": "Lucas Mendes",
        "uf": "SP",
        "nome_produto": "PLA Preto 1kg",
        "qtd": 5,
        "preco_unitario": 89.9,
        "subtotal": 449.5,
        "status": "concluido"
    }
]
clientes
  • id_cliente (INTEGER PK)
  • nome_cliente (TEXT)
  • uf (TEXT)
  • cidade (TEXT)
  • vip (INTEGER 0|1)
  • saldo_credito (REAL)
produtos
  • id_produto (INTEGER PK)
  • id_categoria (INTEGER FK)
  • nome_produto (TEXT)
  • preco (REAL)
  • estoque (INTEGER)
pedidos & itens
  • pedidos.id_pedido (INTEGER PK)
  • pedidos.id_cliente (INTEGER FK)
  • pedidos.status (TEXT)
  • itens_pedido.id_item (INTEGER PK)
  • itens_pedido.qtd (INTEGER)
  • itens_pedido.preco_unitario (REAL)