Administración de Base de Datos

Consultas con PostgreSQL


Su principal función es recuperar datos específicos de las tablas. El resultado de una consulta es otra tabla que puede visualizar datos de una tabla o varias tablas con la opción de agregar criterios para "filtrar" los datos hasta obtener solo los registros deseados. Las consultas a menudo sirven de origen de registros para formularios e informes.

Consultas

SELECT [* | [ {,} ] ]
FROM [ {,} ]
[ WHERE ( ) ] [ {AND|OR () } ] ]
[ ORDER BY [ASC|DESC] ] [ {,[ASC|DESC]}] ];

Consultas Simples

SELECT campo1, campo2,… campoN
   FROM nombreTabla
   WHERE Condición simple o compuesta
   ORDER BY campoCriterioOrden ASC
;

-- ASC o DESC, en lugar del nombre del campo puede utilizar el número del campo a ordenar, por ejemplo ORDER BY 2 ASC

Consultas Compuestas

SELECT tabla.campo1, tabla.campo2,… tabla.campoN
   FROM Tablas  -- separadas por comas (,)
   WHERE Combinación de tablas – clave principal = clave foránea (con el operador lógico AND) + condiciones
   ORDER BY campo ASC
;

SELECT tabla.campo1, tabla.campo2,… tabla.campoN
   FROM nomTabla1 INNER JOIN nomTabla2 ON nomTabla1.clavePpal = nomTabla2.claveFor -- INNER JOIN otras tablas
   WHERE condiciones
   ORDER BY campo ASC
;

Consulta por parámetro

Filtra los datos asociados a un valor:

SELECT *
FROM Estudiantes
WHERE ((idEstudiante)=[Documento])
;

Ejemplos

Consultas con la utilización de operadores relacionales

  • Edad mayor a 18 años (edad > 18)

Consultas que usan operadores lógicos

  • Edad mayor a 18 y género masculino ((edad >18) AND (genero = 'M'))
  • Estudiantes nacidos en Pamplona o Cúcuta ((lugarNacimiento = 'Pamplona') OR (lugarNacimiento  = 'Cúcuta'))

Consultas con aplicaciones para fechas

  • Nacidos entre enero y junio de 2000:  ((fechaNacimiento)>=#01/01/2000#) AND (fecha_nac)<=#30/06/2000#), ó, (fechaNacimiento BETWEEN #01/01/2000# AND #30/06/2000#)
  • Nacidos en el mes de Diciembre:  (month(fechaNacimiento)=12)
  • Nacidos los días 10 (day(fechaNacimiento)=1)
  • Nacidos el año 2000 (year(fechaNacimiento)=2000)

Consultas que utilizan comodines para textos (signos % o *: grupo de caracteres, y signos  _ o  ?: un carácter)

  • Nombres que inician con la letra A (nomEstudiante LIKE 'A*')
  • Apellidos que finalizan con la letra Z (apeEstudiante LIKE '*Z')
  • Nombres Hernández o Fernández (nombreEstudiante LIKE '?ernández')

Consultas a partir de listas definidas

  • Nacidos en Pamplona, Cúcuta u Ocaña:  (ciudaNacimiento IN ('Pamplona', 'Cúcuta', 'Ocaña'))
  • Estudiantes con estratos 1, 2, 3, 4: (estratoEstudiante IN  (1, 2, 3, 4))

 


Volver al Contenido