Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: SQL e a Teoria de Conjuntos

_Créditos das imagens: Grok ### 🚀 Você sabia? SQL e a Teoria de Conjuntos estão mais conectados do que imagina! A linguagem SQL (Structured Query Language) tem suas raízes na teoria de conjuntos, um conceito matemático que trata de coleções de objetos. Em bancos de dados relacionais, cada tabela é um conjunto de linhas (ou tuplas), e operações como SELECT, JOIN, UNION e INTERSECT são inspiradas em operações como união (∪), interseção (∩) e diferença (-). Vamos explorar como isso funciona? 👇 --- ### 🔍 Principais Operações de Conjuntos no SQL Imagine duas tabelas simples: Clientes (Conjunto A): ``` +----+-------+ | ID | Nome | +----+-------+ | 1 | Ana | | 2 | João | | 3 | Maria | +----+-------+ ``` Pedidos (Conjunto B): ``` +----+-----------+ | ID | Cliente_ID| +----+-----------+ | 1 | 1 | | 2 | 2 | | 3 | 1 | +----+-----------+ ``` #### 1. União (UNION) - O que faz: Junta tudo de A e B, sem duplicatas (A ∪ B). - Exemplo: ```sql SELECT id FROM cli...

BlackTDN :: Select Data Table :: userRestCrudTLPPCoreFunction :: AllToJSON

_Créditos da imagem: Gerada com auxílio do Copilot_

#### Request

```json
{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "yesFields": "X5_TABELA,X5_CHAVE,X5_X5_DESCRI",
    "Filter": "D_E_L_E_T_=' ' AND X5_TABELA='35'",
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

#### OU... Request

```json

{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "noFields": "X5_FILIAL,X5_DESCSPA,X5_DESCENG",
    "Filter": {"D_E_L_E_T_" : " ", "X5_TABELA" : "35"},
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001",
                        "X5_DESCRI": "Anuenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002",
                        "X5_DESCRI": "Bienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003",
                        "X5_DESCRI": "Trienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004",
                        "X5_DESCRI": "Quadrienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005",
                        "X5_DESCRI": "Quinquenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006",
                        "X5_DESCRI": "Pagamento Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007",
                        "X5_DESCRI": "Desconto Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008",
                        "X5_DESCRI": "Arredondamento do Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009",
                        "X5_DESCRI": "Imposto de Renda no Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010",
                        "X5_DESCRI": "Base do I.R. no Adiantamento"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

Comentários

Postagens mais visitadas