Postgres Cheatsheet
Postgres Cheatsheet
ssssssssssssssss
Guia de atajos
time [ (p) ] timetz Hora del día, incluida ROUND( v, p ) Redondea el valor y precisión decimal
with time zone la zona horaria
timestamp Fecha y hora (sin
[ (p) ] zona horaria)
[ without time Operadores de Comparación
zone ] Operador
timestamp timestamptz Fecha y hora, Descripción
[ (p) ] with incluida la zona Función
time zone horaria
= ¿Son los valores iguales?
uuid Identificador único
universal ¿Es el valor de la izquierda es más
>
xml Datos XML
grande que el de la derecha?
¿Es el valor de la izquierda más
<
grande que el de la derecha?
¿Es el valor de la derecha mayor o
>=
igual al de la derecha?
¿Es el valor de la izquierda mayor o
<= NOT IN El valor no se encuentra en la lista
igual al de la derecha?
IN ¿El valor se encuentra en la lista?
Operadores lógicos
correlativos
Operador Descripción
Ambas condiciones se deben de
AND
cumplir
Una de las condiciones se tiene que
OR
cumplir
Depende de donde se use, pero en
NOT
general es una negación.
Tabla lógica
a b a AND b a OR b
TRUE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE
TRUE NULL NULL TRUE
FALSE FALSE FALSE FALSE
FALSE NULL FALSE NULL
NULL NULL NULL NULL
TRUE FALSE
FALSE TRUE
NULL NULL
Tipo Descripción
SERIAL Serie valores numéricos
INSERT INTO books
(id, title)
SELECT * FROM "users"
VALUES WHERE "id" BETWEEN 2 AND 4;
( nextval('books_sequence'), 'TheHobbit' );
Case
En definición de tabla SELECT "name", "salary",
CASE
CREATE TABLE Students ( WHEN "salary" > 6000 THEN 'Salario mayor a 6000$'
id bigint DEFAULT nextval('integer_id_seq') WHEN "salary" > 4000 THEN 'Salario mayor a 4000$'
PRIMARY KEY, WHEN "salary" >= 2000 THEN 'Salario mayor a 2000$'
name VARCHAR(200) not NULL ELSE 'Salario menor a 2000$'
END AS "Salary information"
); FROM "users";
Function Description
greatest(ANY Devuelve el valor más grande de una
array_agg(expression) expresiones
incluidos los nulos,
concatenados en una
matriz least(ANY Devuelve el valor más pequeño de una
REPEATED) lista de cualquier número de
Número de filas de
count(*)
entrada
Número de filas de
entrada para las que el
count(expression)
valor de expresión no es
nulo
Valor máximo
de expresión en todos los
max(expression)
valores de entrada no
nulos
Valor mínimo
de expresión en todos los
min(expression)
valores de entrada no
nulos
Valores de entrada no
string_agg( nulos concatenados en
expression, delimiter) una cadena, separados
por delimitador
Suma de expresión en
sum(expression) todos los valores de
entrada no nulos
Funciones condicionales
Function Description
JOINS - Uniones de tablas
Visualisation SQL Query
SELECT *
FROM table_a A
SELECT * FROM table_a A LEFT JOIN table_b B ON
JOIN table_b B A.key = B.key
ON A.key = B.key WHERE B.key IS NULL
SELECT *
FROM table_a A
SELECT * FROM table_a A RIGHT JOIN table_b B
LEFT JOIN table_b B ON ON A.key = B.key
A.key = B.key WHERE A.key IS NULL