PostgreSQL Exemplos desnecessários

PostgreSQL Exemplos desnecessários
Você pode especificar uma coluna no PostgreSQL como apenas uma variedade de tipos apropriados de dados. Os tipos de dados embutidos, especificados pelo usuário e inalienáveis ​​são todas as possibilidades. Além disso, as matrizes são muito relevantes no PostgreSQL. Você aprendeu sobre as matrizes no PostgreSQL, incluindo como construir, consultar e, às vezes, até gerar matrizes com o método da matriz. No entanto, há momentos em que eu gostaria de fazer o inverso e converter uma matriz postgreSql em linhas. Existem muitas causas por que você gostaria de fazer isso. Por um tempo, digamos que você esteja procurando a junção de duas matrizes. No PostgreSQL, o operador intersect pode efetivamente fazer isso para dois conjuntos diferentes de linhas. No entanto, não há contraparte para matrizes. Da mesma forma, o operador da União se junta a 2 pares de linhas; No entanto, não há nada comparável para matrizes. O método mais desnecessário parece ser o segredo de tudo isso. Enquanto consome inútil, você deve ter cuidado, pois (como na maioria dos sistemas de computador) PostgreSQL faria qualquer coisa que você instrua a fazer, não exatamente o que você quer que ele faça.

Para elaborar totalmente esse conceito, abra o shell da linha de comando instalado do PostgreSQL em seu sistema. Forneça o nome do servidor, o nome do banco de dados, o número da porta, o nome de usuário e a senha do usuário em particular, se você não quiser começar a trabalhar com as opções padrão. Se você quiser trabalhar com parâmetros padrão, deixe todas as opções vazias e pressione Enter todas as opções. Agora o seu shell da linha de comando está preparado para trabalhar em.

Exemplo 01: Definir dados do tipo de matriz

É uma boa ideia estudar os fundamentos antes de passar para a modificação dos valores da matriz no banco de dados. Aqui está a maneira de especificar uma lista de tipos de texto. Você pode ver que a saída mostrou a lista de tipos de texto usando a cláusula selecionada.

>> Selecione 'aqsa, Raza, Saeed' :: text [];

O tipo de dados deve ser definido ao escrever uma consulta. PostgreSQL não reconhecerá o tipo de dados se parecer uma string. Como alternativa, podemos usar o formato Array [] para especificá -lo como tipo de string, como mostrado anexado abaixo na consulta. A partir da saída citada abaixo, você pode ver que os dados foram buscados como tipo de matriz usando a consulta selecionada.

>> selecione Array ['aqsa', 'Raza', 'Saeed'];

Quando você seleciona os mesmos dados da matriz com a consulta selecionada enquanto usa a cláusula, não funciona da maneira que deveria. Por exemplo, tente a consulta abaixo da cláusula na concha. Você verificará se ele apresentará um erro. Isso ocorre porque a cláusula selecionada da seleção assume que os dados que ele está buscando é provavelmente um grupo de linhas ou alguns pontos de uma tabela.

>> Selecione * da matriz ['aqsa', 'raza', 'saeed'];

Exemplo 02: Converter matriz em linhas

Array [] é uma função que retorna um valor atômico. Como resultado, ele se encaixa apenas com seleção e não com a cláusula, pois nossos dados não estavam no formulário 'linha'. É por isso que recebemos um erro no exemplo acima. Aqui está como usar a função mais desnecessária para converter as matrizes em linhas enquanto sua consulta não está funcionando com a cláusula.

>> Selecione UNESST (Array ['Aqsa', 'Raza', 'Saeed']);

Exemplo 03: Converter linhas em matriz

Para converter as linhas em uma matriz novamente, temos que definir essa consulta em particular dentro de uma consulta para fazê -lo. Você tem que usar as duas consultas selecionadas aqui. Uma consulta de seleção interna está convertendo uma matriz em linhas usando a função mais desnecessária. Enquanto a consulta de seleção externa está novamente convertendo todas essas linhas em uma única matriz, como mostrado na imagem citada abaixo. Atenção; Você tem que usar grafias menores de 'Array' na consulta Select Externa.

>> Selecione Array (selecione UNSON (Array ['Aqsa', 'Raza', 'Saeed']));

Exemplo 04: Remova duplicatas usando cláusula distinta

A distinta pode ajudá -lo a extrair duplicatas de qualquer forma de dados. No entanto, requer necessariamente o uso de linhas como dados. Isso significa que esse método funciona para números inteiros, texto, carros alegóricos e outros tipos de dados, mas as matrizes não são permitidas. Para remover duplicatas, você deve primeiro converter seus dados do tipo de matriz em linhas usando o método mais desnecessário. Depois disso, essas linhas de dados convertidas serão passadas para a cláusula distinta. Você pode ter um vislumbre da saída abaixo, que a matriz foi convertida em linhas, então apenas os valores distintos dessas linhas foram buscados usando a cláusula distinta.

>> Selecione Distinta UNSONS ('aqsa, Raza, Saeed, Raza, Uzma, Aqsa' :: text []);

Se você precisar de uma matriz como uma saída, use a função Array () na primeira consulta selecionada e use a cláusula distinta na próxima consulta selecionada. Você pode ver na imagem exibida que a saída foi mostrada na forma de matriz, não na linha. Enquanto a saída contém apenas valores distintos.

>> Selecione Array (selecione Distinct Unnest ('aqsa, Raza, Saeed, Raza, Uzma, Aqsa' :: text []));

Exemplo 05: Remova as duplicatas durante o uso da cláusula Ordem by

Você também pode remover os valores duplicados da matriz do tipo float, como mostrado abaixo. Juntamente com a consulta distinta, usaremos a cláusula da Ordem por Ordem para obter o resultado na ordem de classificação de um valor específico. Experimente a consulta abaixo do lugar no shell da linha de comando para fazer isso.

>> Selecione Distinto desnecess ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []) Ordem por 1;

Primeiro, a matriz foi convertida em linhas usando a função mais desnecessária; Em seguida, essas linhas serão classificadas em ordem ascendente usando a cláusula da Ordem por.

Para converter as linhas novamente em uma matriz, use a mesma consulta selecionada no shell enquanto a usa com uma pequena função alfabética (). Você pode dar uma olhada na saída abaixo de que a matriz foi convertida em linhas primeiro, então apenas os valores distintos foram escolhidos. Por fim, as linhas serão convertidas em uma matriz novamente.

>> Selecione Array (selecione Distinta Unest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []));

Conclusão:

Finalmente, você implementou com sucesso todos os exemplos deste guia. Esperamos que você não tenha nenhum problema ao executar o método desnecess (), distinto e Array () nos exemplos.