PostgreSQL: Funciones agregadas de SQLSin categoría 

PostgresSQl, Consultas de varias tablas (Join)

PostgresSQl, Consultas de varias tablas (Join)

            Un join es una operación que relaciona dos o más tablas para obtener un resultado que incluya datos (campos y registros) de ambas tablas. Se emplea para obtener información de dos tablas y combinar dicha información en una salida. Su sintaxis  es la siguiente:

 

SELECT  campos FROM  tabla1  JOIN tabla2  ON condiciones;

 

 

            Veamos por partes que quiere decir cada una de las partes que conforman la sentencia:

 

 

Significado

SELECT

Palabra clave que indica que la sentencia de SQL que se quiere ejecutar es de selección.

FROM

Indica la tabla (o tablas) desde la que queremos recuperar los datos.

JOIN

Indica las tablas que se quieren unir.

ON

Indica los campos por los que se van a unir las tablas.

            Por Ejemplo:

 

 SELECT * FROM libros JOIN editoriales   ON codigoeditorial=editoriales.codigo;

 

 

            Ejercicio:

 

  • Tomando en cuenta la Base de Datos ‘Ventas’, hacer uso del Join en las tablas que considere pertinentes.
  • Tomando en cuenta la Base de Datos ‘Pruebas’, hacer un Join entre las tablas ‘Libros’ y ‘Editoriales’.

 

 

Operadores lógicos

 

            Los operadores lógicos son aquellos que permiten establecer una combinación de condiciones  en una consulta a la Base de Datos. Dentro de los utilizados en Postgres9.1 se pueden nombrar:

  • AND, significa «y»,
  • OR, significa «y/o»,
  • NOT, significa «no».

 

            Por ejemplo: Si queremos mostrar todos los libros cuyo autor sea igual a «Borges» y cuyo precio no supere los 20 bolívares, necesitamos 2 condiciones:

 

SELECT * from libros WHERE (autor=’Borges’) AND  (precio<=20);

 

 

 

            Ejercicio:

 

            Usando la Base de Datos ‘Pruebas’ realizar las siguientes consultas:

 

  • Mostrar aquellos los libros cuyo autor sea igual a «Stallings» y cuyo precio no supere los 20 bolívares
  • Mostrar aquelos libros libros cuyo código de editorial no sea ‘2’.
  • Mostrar los libros cuyos autores sean ‘olifer’ o ‘vidal’.

 

 

 

Operadores Relacionales

 

 

            Los operadores relacionales (o de comparación) permiten comparar dos expresiones, que pueden ser valores de campos. Hemos utilizado condiciones de igualdad para seleccionar registros de una tabla, por ejemplo:

 

SELECT * FROM libros WHERE autor = ‘Borges’;

 

 

            En el ejemplo anterior se utiliza el operador relacional de igualdad. Los operadores relacionales vinculan un campo con un valor para que PostgreSQL9.1 compare cada campo especificado con un valor dado. Los operadores relacionales son los siguientes:

 

Operador

Significado

=    

  igual

<>    

 distinto

>     

 mayor

<     

 menor

>=     

mayor o igual

<=      

menor o igual

 

 

            Se pueden seleccionar también, por ejemplo, los registros cuyo autor sea diferente de «Borges», para ello usamos la condición:

 SELECT * FROM libros WHERE autor <> ‘Borges’;

 

            Se pueden  comparar valores numéricos. Por ejemplo, si se quieren mostrar los títulos y precios de los libros cuyo precio sea mayor a 20 bolívares:

 SELECT titulo, precio FROM libros WHERE  precio > 20;

 

 

            Ejercicio:

 

            Usando la tabla ‘Libros’ de la Base de Datos ‘Pruebas’ haga lo siguiente:

 

  • Inserte los siguientes datos:

 

Código

Título

Autor

Precio

Código

Editorial

15

El aleph

Borges

24.50

2

16

Martin Fierro

Hernandez

16.00

1

17

Aprenda PHP

Mario Molina

35.40

1

18

Cervantes y el quijote

Hernandez

50.90

3

 

 

  • Seleccionar los registros cuyo autor sea diferente de ‘Hernandez’.
  • Seleccionar los registros cuyo precio supere los 40 bolívares, se debe mostrar solo el título y precio.
  • Seleccionar aquellos libros cuyo precio es menor o igual a 30 bolívares.

 

 

            Crear una tabla ‘Articulos’ en la Base de Datos ‘Pruebas’. La estructura de la tabla es la siguiente:

 

            código, tipo integer;

            nombre , cadena de caracteres de longitud 20;

            descripción, cadena de caracteres de longitud 30,

            precio, tipo float;

            cantidad, tipo integer;

 

  • Insertar los siguientes datos:

 

             insert into articulos (codigo, nombre, descripcion, precio,cantidad)

            values (1,’impresora’,’Epson Stylus C45′,400.80,20);

 

             insert into articulos (codigo, nombre, descripcion, precio,cantidad)

             values (2,’impresora’,’Epson Stylus C85′,500,30);

 

             insert into articulos (codigo, nombre, descripcion, precio,cantidad)

             values (3,’monitor’,’Samsung 14′,800,10);

 

            insert into articulos (codigo, nombre, descripcion, precio,cantidad)

             values (4,’teclado’,’ingles Biswal’,100,50);

            insert into articulos (codigo, nombre, descripcion, precio,cantidad)

            values (5,’teclado’,’español Biswal’,90,50);

 

  • Seleccionar los datos de las impresoras.
  • Seleccionar los artículos cuyo precio sea mayor o igual a 400.
  • Seleccionar el código y nombre de los artículos cuya cantidad sea menor a 30.
  • Seleccionar el nombre y descripción de los artículos que NO cuesten 100 bolívares.

 

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts