PostgreSQL Ejemplos innatos

PostgreSQL Ejemplos innatos
Puede especificar una columna en PostgreSQL como solo una variedad de tipos apropiados de datos. Los tipos de datos incorporados, especificados por el usuario e inalienables son posibilidades. Aparte de eso, las matrices son muy relevantes en PostgreSQL. Has aprendido sobre matrices en PostgreSQL, que incluyen cómo construir, consultar y, a veces, incluso generar matrices con el método de matriz. Sin embargo, hay momentos en los que me gustaría hacer lo contrario y convertir una matriz PostgreSQL en filas. Hay muchas causas por las que le gustaría hacer esto. Por un tiempo, digamos que está buscando el cruce de dos matrices. En PostgreSQL, el operador intersecto puede hacerlo efectivamente para dos conjuntos diferentes de filas. Sin embargo, no hay contraparte para las matrices. Del mismo modo, el operador de la Unión se une a 2 pares de filas; Sin embargo, no hay nada comparable para las matrices. El método inneceso parece ser el secreto de todo esto. Mientras consume un innato, debe usar precaución, ya que (como con la mayoría de los sistemas informáticos) PostgreSQL haría cualquier cosa que le indique que haga, no exactamente lo que desea que haga.

Para elaborar este concepto completamente, abra el shell de línea de comandos instalado de PostgreSQL en su sistema. Proporcione el nombre del servidor, el nombre de la base de datos, el número de puerto, el nombre de usuario y la contraseña para el usuario en particular si no desea comenzar a trabajar con las opciones predeterminadas. Si desea trabajar con los parámetros predeterminados, deje cada opción vacía y presione Entrar cada opción. Ahora su shell de línea de comandos está preparado para trabajar.

Ejemplo 01: Definir datos de tipo de matriz

Es una buena idea estudiar los fundamentos antes de pasar a modificar los valores de la matriz en la base de datos. Aquí está la forma de especificar una lista de tipos de texto. Puede ver que la salida ha mostrado la lista de tipos de texto utilizando la cláusula de selección.

>> seleccione 'Aqsa, Raza, Saeed' :: Text [];

El tipo de datos debe definirse al escribir una consulta. PostgreSQL no reconocerá el tipo de datos si parece ser una cadena. Alternativamente, podríamos usar el formato de matriz [] para especificarlo como tipo de cadena, como se muestra a continuación en la consulta. Desde la salida citada a continuación, puede ver que los datos se han obtenido como tipo de matriz utilizando la consulta SELECT.

>> seleccionar matriz ['aqsa', 'raza', 'saeed'];

Cuando selecciona los mismos datos de matriz con la consulta de selección mientras se usa desde la cláusula, no funciona como debería. Por ejemplo, pruebe la siguiente consulta de desde la cláusula en el shell. Verificará que se le ocurra un error. Esto se debe a que la cláusula seleccionar de la cláusula supone que los datos que está obteniendo es probablemente un grupo de filas o algunos puntos de una tabla.

>> seleccionar * de la matriz ['aqsa', 'raza', 'saeed'];

Ejemplo 02: convertir la matriz en filas

Array [] es una función que devuelve un valor atómico. Como resultado, se ajusta solo con selección y no con la cláusula de desde. Por eso recibimos un error en el ejemplo anterior. Aquí es cómo usar la función inneces. Para convertir las matrices en filas mientras su consulta no funciona con la cláusula.

>> seleccione Unnest (Array ['Aqsa', 'Raza', 'Saeed']);

Ejemplo 03: convertir filas en matriz

Para convertir las filas en una matriz nuevamente, tenemos que definir esa consulta particular dentro de una consulta para hacerlo. Tienes que usar las dos consultas selectas aquí. Una consulta de selección interna es convertir una matriz a filas utilizando la función inneces. Mientras que la consulta selecta externa vuelve a convertir todas esas filas en una sola matriz, como se muestra en la imagen citada a continuación. Cuidado; Tienes que usar ortografía más pequeña de 'matriz' en la consulta de selección externa.

>> seleccione Array (seleccione Unnest (Array ['AQSA', 'Raza', 'Saeed']));

Ejemplo 04: eliminar duplicados usando una cláusula distinta

Distinto puede ayudarlo a extraer duplicados de cualquier forma de datos. Sin embargo, necesariamente requiere el uso de filas como datos. Esto significa que este método funciona para enteros, texto, flotadores y otros tipos de datos, pero las matrices no están permitidas. Para eliminar los duplicados, primero debe convertir sus datos de tipo de matriz en filas utilizando el método innest. Después de eso, estas filas de datos convertidas se pasarán a la cláusula distinta. Puede echar un vistazo a la salida a continuación, que la matriz se ha convertido en filas, entonces solo los valores distintos de estas filas se han obtenido utilizando la cláusula distinta.

>> seleccione Distints Unnest ('Aqsa, Raza, Saeed, Raza, Uzma, AQSA' :: Text []);

Si necesita una matriz como salida, use la función Array () en la primera consulta de selección y use la cláusula distintiva en la siguiente consulta de selección. Puede ver en la imagen mostrada que la salida se ha mostrado en el formulario de matriz, no en la fila. Mientras que la salida contiene solo valores distintos.

>> seleccione Array (seleccione Distints Unnest ('Aqsa, Raza, Saeed, Raza, Uzma, Aqsa' :: Text []));

Ejemplo 05: elimine los duplicados mientras usa el orden por cláusula

También puede eliminar los valores duplicados de la matriz de tipo flotante, como se muestra a continuación. Junto con la consulta distinta, utilizaremos la cláusula de orden por orden para obtener el resultado en el orden de clasificación de un valor específico. Pruebe la consulta establecida a continuación en el shell de línea de comandos para hacerlo.

>> seleccione Distints Unnest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []) orden por 1;

Primero, la matriz se ha convertido en filas utilizando la función innéstica; Luego, estas filas se clasificarán en orden ascendente utilizando el orden por cláusula como se muestra a continuación.

Para convertir las filas nuevamente en una matriz, use la misma consulta de selección en el shell mientras lo usa con una pequeña matriz alfabética (). Puede echar un vistazo a la salida a continuación que la matriz se ha convertido primero en filas, luego solo se han elegido los valores distintos. Por fin, las filas se convertirán en una matriz nuevamente.

>> Seleccionar matriz (seleccione Distints Unnest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []));

Conclusión:

Finalmente, ha implementado con éxito cada ejemplo de esta guía. Esperamos que no tenga ningún problema mientras realiza el método innest (), distinto y array () en los ejemplos.