A Gentle Introduction to

SQL

Edinburgh Buses: self joingoogleAutobúses De Edimburgo: el uno mismo ensambla

A table may be joined with itself. When this happens we need some mechanism for distinguishing the instances of the table. Labels may be introduced in the FROM clause - a dot is used to separate the label and attribute name when used elsewhere in the statement.googleUna tabla se puede ensamblar con sí mismo. Cuando sucede esto necesitamos un cierto mecanismo para distinguir los casos de la tabla. Las etiquetas se pueden introducir en de cláusula - un punto se utiliza para separar el nombre de la etiqueta y de la cualidad cuando está utilizado a otra parte en la declaración.

Examples of self joins on the route tablegoogleLos ejemplos del uno mismo ensamblan en la tabla de la ruta

Self join of route on (num, company)googleEl uno mismo ensambla de la ruta encendido (numérico, compañía)

We might join the route table on the (num, company) pair. The result is a list of all pairs of stops which share a service.googlePuede ser que ensamblemos la tabla de la ruta en (numérico, compañía) el par. El resultado es una lista de todos los pares de las paradas que comparten un servicio.

SELECT * FROM route R1, route R2

  WHERE R1.num=R2.num AND R1.company=R2.company

This is a large table with over 11000 entries. An extract is shown below. There are 121 entries the LRT 1 service alone. There are 11 stops on the number 1. It is a circular route - the first and last stops are identical.googleEsto es una tabla grande con sobre 11000 entradas. Un extracto se demuestra abajo. Hay 121 entradas el servicio de LRT 1 solamente. Hay 11 paradas en el número 1. Es una ruta circular - las primeras y pasadas paradas son idénticas.

num company pos stop num_1 company_1 pos_1 stop_1
1 LRT 1 134 1 LRT 7 217
1 LRT 1 134 1 LRT 11 134
1 LRT 1 134 1 LRT 10 79
...
1 LRT 2 97 1 LRT 7 217
1 LRT 2 97 1 LRT 11 134
...
2 LRT 9 31 2 LRT 11 217
2 LRT 9 31 2 LRT 1 168
...

Self join of route on stopgoogleEl uno mismo ensambla de la ruta en parada

We might join the route table with itself on the stop field. The result is a list of all pairs of services which share a stop.googlePuede ser que ensamblemos la tabla de la ruta con sí mismo en el campo de la parada. El resultado es una lista de todos los pares de los servicios que comparten una parada.

SELECT * FROM route R1, route R2

  WHERE R1.stop=R2.stop;

In the extract below some of the entries for stop 53, 'Craiglockhart' are shown.googleEn el extracto debajo de algunas de las entradas para la parada 53, se demuestra ' Craiglockhart '.

num company pos stop num_1 company_1 pos_1 stop_1
47 LRT 4 53 47 LRT 4 53
47 LRT 4 53 27 LRT 6 53
47 LRT 4 53 10 LRT 8 53
47 LRT 4 53 45 LRT 7 53
47 LRT 4 53 4 LRT 6 53
10 LRT 8 53 47 LRT 4 53
10 LRT 8 53 27 LRT 6 53
10 LRT 8 53 10 LRT 8 53
...