PDF de programación - Tema III. Lenguaje SQL

Imágen de pdf Tema III. Lenguaje SQL

Tema III. Lenguaje SQLgráfica de visualizaciones

Publicado el 3 de Mayo del 2019
1.581 visualizaciones desde el 3 de Mayo del 2019
1,4 MB
39 paginas
Creado hace 327d (29/10/2018)
Tema III. Lenguaje SQL


Introducción.

Sentencias SQL de consulta.
• Otras sentencias de interés.





Sentencias SQL de creación de tablas.
Sentencias SQL para añadir registros.
Sentencias SQL para borrar registros.
Sentencias SQL para actualizar registros.

Fuente: https://csharpcorner-mindcrackerinc.netdna-ssl.com/UploadFile/BlogImages/01032017000551AM/image002.png

v20181028

Bases de datos. Diseño y gestión

1

Introducción

El lenguaje de consulta estructurado SQL (Structured Query
Language) es un lenguaje de base de datos normalizado,
utilizado por los diferentes motores de bases de datos para
realizar determinadas operaciones sobre los datos o sobre la
estructura de los mismos.
El científico Edgar Frank Codd (1923–2003) fue quien propuso
un modelo relacional para las bases de datos y creó un
sublenguaje para acceder a los datos a partir del cálculo de
predicados. En base al trabajo de Codd, IBM (International
Business Machines) definió el lenguaje conocido como
Structured English Query Language (SEQUEL). El SEQUEL se
considera el antecesor de SQL, un lenguaje de cuarta
generación que se estandarizó en 1986.

v20181028

Bases de datos. Diseño y gestión

2

Fuente: https://sequel.jeremyevans.net/images/ruby-sequel.png/

Sentencias SQL de consulta

- SELECT: La sentencia SELECT selecciona una serie de
atributos de una o varias tablas, que cumplen unas
determinadas condiciones. La sentencia SELECT permite
operaciones avanzadas como ordenar el resultado. La sintaxis
general es la siguiente:

SELECT atributos FROM tablas WHERE condiciones

Tabla city de la base de datos world:

v20181028

Bases de datos. Diseño y gestión

3

Sentencias SQL de consulta

- Ejemplo 1: “SELECT * FROM world.city”

Selecciona todos los atributos de la tabla city, de la base de
datos world. El * indica que devuelve todos los atributos de las
tablas implicadas.

# ID Name

CountryCode

1 Kabul

2 Qandahar

3 Herat

4 Mazar-e-Sharif

5 Amsterdam

6 Rotterdam

7 Haag

8 Utrecht

9 Eindhoven

10 Tilburg

11 Groningen

AFG

AFG

AFG

AFG

NLD

NLD

NLD

NLD

NLD

NLD

NLD

District

Kabol

Qandahar

Herat

Balkh

Noord-Holland

Zuid-Holland

Zuid-Holland

Utrecht

Noord-Brabant

Noord-Brabant

Groningen

Se muestran un total de once resultados de los 4079 registros disponibles

Population

1780000

237500

186800

127800

731200

593321

440900

234323

201843

193238

172701

v20181028

Bases de datos. Diseño y gestión

4

Sentencias SQL de consulta

- Ejemplo 1I: “SELECT ID, city.Name FROM world.city”

Selecciona el atributo ID y el atributo Name (obsérvese que
en este caso, nos referimos a él anteponiendo el nombre de la
tabla. Es útil cuando dos tablas tienen atributos con el mismo
nombre) de la tabla city, de la base de datos world.

# ID Name

1 Kabul

2 Qandahar

3 Herat

4 Mazar-e-Sharif

5 Amsterdam

6 Rotterdam

7 Haag

8 Utrecht

9 Eindhoven

10 Tilburg

11 Groningen

Se muestran un total de once resultados de los 4079 registros disponibles

v20181028

Bases de datos. Diseño y gestión

5

Sentencias SQL de consulta

- Ejemplo 1II: “SELECT ID, Name FROM world.city LIMIT
5”

Selecciona el atributo ID y el atributo Name, de la tabla city y
de la base de datos world. En este caso, limitamos el resultado
a 5 registros. Esto es muy interesante cuando el número de
registros devueltos es muy grande o nos interesa sólo el
primer registro que cumple una condición.

# ID Name

1 Kabul

2 Qandahar

3 Herat

4 Mazar-e-Sharif

5 Amsterdam

Se muestran un total de 5 registros

v20181028

Bases de datos. Diseño y gestión

6

Sentencias SQL de consulta

- Ejemplo IV: “SELECT * FROM world.city WHERE
CountryCOde = 'ESP' LIMIT 10”

Selecciona todos los atributos, de la tabla city y de la base de
datos world. En este caso, limitamos el resultado a 10 registros
y mediante la cláusula WHERE indicamos que sólo nos
interesan aquellos cuyo código de país (CountryCOde) es
“ESP”.

# ID Name

653 Madrid

654 Barcelona

655 Valencia

656 Sevilla

657 Zaragoza

658 Málaga

659 Bilbao

660 Las Palmas de Gran Canaria

661 Murcia

662 Palma de Mallorca

CountryCode

ESP

ESP

ESP

ESP

ESP

ESP

ESP

ESP

ESP

ESP

District

Madrid

Katalonia

Valencia

Andalusia

Aragonia

Andalusia

Baskimaa

Canary Islands

Murcia

Balears

Population

2879052

1503451

739412

701927

603367

530553

357589

354757

353504

326993

v20181028

Bases de datos. Diseño y gestión

7

Se muestran un total de 10 registros

Sentencias SQL de consulta

- Ejemplo V: “SELECT * FROM world.city WHERE
CountryCOde = 'ESP' AND population > 500000 LIMIT 10”

Selecciona todos los atributos, de la tabla city y de la base de
datos world. En este caso, limitamos el resultado a 10 registros
y mediante la cláusula WHERE indicamos que sólo nos
interesan aquellos cuyo código de país (CountryCOde) es
“ESP” y además cuya población (population) es mayor a
500.000 (cláusula AND).

# ID Name

653 Madrid

654 Barcelona

655 Valencia

656 Sevilla

657 Zaragoza

658 Málaga

CountryCode

District

Population

ESP

ESP

ESP

ESP

ESP

ESP

Madrid

Katalonia

Valencia

Andalusia

Aragonia

Andalusia

2879052

1503451

739412

701927

603367

530553

v20181028

Bases de datos. Diseño y gestión

8

Sentencias SQL de consulta

- Ejemplo VI: “SELECT * FROM world.city WHERE
CountryCOde = 'ESP' AND population > 500000 ORDER
BY Name LIMIT 10”
Selecciona todos los atributos, de la tabla city y de la base de
datos world. En este caso, limitamos el resultado a 10 registros
y mediante la cláusula WHERE indicamos que sólo nos
interesan aquellos cuyo código de país (CountryCOde) es
“ESP” y además cuya población (population) es mayor a
500.000 (cláusula AND). Por último, ordenamos por el atributo
Name mediante la cláusula ORDER BY.

# ID Name

654 Barcelona

653 Madrid

658 Málaga

656 Sevilla

655 Valencia

657 Zaragoza

CountryCode

District

Population

ESP

ESP

ESP

ESP

ESP

ESP

Katalonia

Madrid

Andalusia

Andalusia

Valencia

Aragonia

1503451

2879052

530553

701927

739412

603367

v20181028

Bases de datos. Diseño y gestión

9

Sentencias SQL de consulta

- Ejemplo VII: “SELECT * FROM world.city WHERE
CountryCOde = 'ESP' AND population > 500000 ORDER
BY Name DESC LIMIT 10”
Selecciona todos los atributos, de la tabla city y de la base de
datos world. En este caso, limitamos el resultado a 10 registros
y mediante la cláusula WHERE indicamos que sólo nos
interesan aquellos cuyo código de país (CountryCOde) es
“ESP” y además cuya población (population) es mayor a
500.000 (cláusula AND). Por último, ordenamos por el atributo
Name al revés (DESC) mediante la cláusula ORDER BY.

# ID Name

657 Zaragoza

655 Valencia

656 Sevilla

658 Málaga

653 Madrid

654 Barcelona

CountryCode

ESP

ESP

ESP

ESP

ESP

ESP

District

Aragonia

Valencia

Andalusia

Andalusia

Madrid

Katalonia

Population

603367

739412

701927

530553

2879052

1503451

v20181028

Bases de datos. Diseño y gestión

10

Sentencias SQL de consulta

- Ejemplo VIII: “SELECT COUNT(*) FROM world.city”

Cuenta todos los registros de la tabla city, de la base de datos
world.

# count(*)

4079

- Ejemplo IX: “SELECT COUNT(*) AS total FROM
world.city”

Cuenta todos los registros de la tabla city, de la base de datos
world y almacena el resultado en un atributo nuevo llamado
total, mediante la cláusula AS.

total

4079

v20181028

Bases de datos. Diseño y gestión

11

Sentencias SQL de consulta

- Ejemplo X: “SELECT COUNT(DISTINCT(name)) AS
total FROM world.city”

Cuenta todos los registros que tengan el campo name
diferente, de la tabla city, de la base de datos world, y almacena
el resultado en un nuevo atributo total.

total

4001

- Ejemplo XI: “SELECT DISTINCT(name) AS
nombres_diferentes FROM world.city ORDER BY name
LIMIT 10”

Devuelve todos los registros que tengan el campo name
diferente, de la tabla city, de la base de datos world, y almacena
el resultado en un nuevo atributo nombres_diferentes. Limita
el número de registros devueltos a 10. Ordena por nombre.

v20181028

Bases de datos. Diseño y gestión

12

Sentencias SQL de consulta

# nombres_diferentes
A Coruña (La Coruña)
Aachen
Aalborg
Aba
Abadan
Abaetetuba
Abakan
Abbotsford
Abeokuta
Aberdeen

- Ejemplo XII: “SELECT city.ID, city.Name, country.code,
country.Name FROM world.city, world.country WHERE
country.code = city.CountryCode ORDER BY country.Name,
city.Name LIMIT 10”

Devuelve los atributos ID y Name de la tabla city y los
atributos code y Name de la tabla country. Enlaza ambas
tablas a través de los atributos country.code y
city.CountryCode. Limita el resultado a 10 registros y lo
ordena por country.Name y city.Name.

v20181028

Bases de datos. Diseño y gestión

13

Sentencias SQL de consulta

# ID

Name

3 Herat
1 Kabul
4 Mazar-e-Sharif
2 Qandahar

34 Tirana
35 Alger
38 Annaba
39 Batna
49 Béchar
45 Béjaïa

code
AFG
AFG
AFG
AFG
ALB
DZA
DZA
DZA
DZA
DZA

Name
Afghanistan
Afghanistan
Afghanistan
Afghanistan
Albania
Algeria
Algeria
Algeria
Algeria
Algeria

- Ejemplo XIII: “SELECT city.ID, city.Name, country.code,
country.Name FROM world.city INNER JOIN world.country
ON country.code = city.CountryCode ORDER BY
country.Name, city.Name LIMIT 10”

En este caso, el resultado es el mismo pero incluimos la
cláusula INNER JOIN…ON para relacionar ambas tablas.

v20181028

Bases de datos. Diseño y gestión

14

Sentencias SQL de consulta

- Ejemplo XIV: “SELECT count(city.ID) AS
numero_ciudades, country.code, country.Name FROM
world.city INNER JOIN world.country ON country.code =
city.CountryCode GROUP BY country.code ORDER BY
country.Name DESC, city.Name LIMIT 10”.

En este caso, la consulta o “query” nos devuelve el número de
poblaciones en el nuevo atributo numero_ciudades. Esto se
consigue con la cláusula GROUP BY que agrupa todos los
registros que tienen el atributo indicado en la cláusula, en este
caso country.code. # numero_ciudades

code
6 ZWE
7 ZMB
8 YUG
6 YEM
1 ESH
1 WLF
1 VIR
1 VGB
  • Links de descarga
http://lwp-l.com/pdf15842

Comentarios de: Tema III. Lenguaje SQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad