A Gentle Introduction to

SQL


Pick an engine:

CIA World Factbook

Using nested select statementsgoogleUsar declaraciones selectas jerarquizadas

The result of a SELECT statement may be used as a value in another statement. For example the statement googleEl resultado de una declaración SELECTA se puede utilizar como valor en otra declaración. Por ejemplo la declaración SELECT region FROM cia WHERE name = 'Brazil'googleSELECCIONE la región de la Cia DONDE nombre = el ' Brasil ' evaluates to 'South America' so we can use this value to obtain a list of all countries in the same region as 'Brazil'googleevalúa a 'South America' así que podemos utilizar este valor para obtener una lista de todos los países en la misma región que el ' Brasil '

1 A nested SELECT using = googleUn = que usa SELECTO jerarquizado

Note that this is not the same thing as a join.googleObserve que ésta no es la misma cosa que un ensamblar.

Two countries named Brazil?google¿Dos países nombraron Brazil?

Often the nested select is being compared against a single value as in the above example. The phrase (SELECT region FROM cia WHERE name = 'Brazil') should return exactly one region, namely 'South America'. But what would happen if we were to create a new European country and name it Brazil?googleEl selecto jerarquizada se está comparando a menudo contra un solo valor como en el ejemplo antedicho. La frase (SELECT region FROM cia WHERE name = 'Brazil') debe volver exactamente una región, a saber 'South America'. ¿Pero qué sucedería si creáramos un país europeo nuevo y lo nombráramos Brazil?

This would result in a "run time error". The syntax of the SQL is correct and our database engine starts to execute it. It will fail when attempting to execute the outer statement - this would be like executing the statement SELECT name FROM cia WHERE name = ('South America', 'Europe') . We would run into a similar problem if there were no country called Brazil in our table.googleEsto daría lugar a un "error runtime". El sintaxis del SQL es nuestro de la base de datos del motor comienzo correcto y ejecutarlo. Fallará al procurar ejecutar la declaración externa - éste sería como ejecutar la declaración SELECT name FROM cia WHERE name = ('South America', 'Europe'). Funcionaríamos en un problema similar si no había país llamado Brazil en nuestra tabla.

If Brazil were to disolve then our query would fail with an error - this may seem like a minor issue compared to the loss of a whole country, but, at the risk of seeming heartless, we would prefer that an empty table be returned under these tragic circumstances.googleSi Brazil estuvieran al disolve entonces nuestra pregunta fallaría con un error - ésta puede parecerse como una edición de menor importancia comparada a la pérdida de un país entero, pero, en el riesgo de parecerse despiadado, preferiríamos que una tabla vacía esté vuelta bajo estas circunstancias trágicas.

Using multiple results in SQLgoogleUsar resultados múltiples en el SQL

There are some SQL conditions which permit lists. For example the "IN" operator tests a single value against a list of values. The following will execute safely no matter how many Brazils we have.googleHay algunas condiciones del SQL que permiten listas. Por ejemplo "EN" operador prueba un solo valor contra una lista de valores. La voluntad siguiente se ejecuta con seguridad no importa cómo mucho Brazils nosotros tiene.

2 A nested SELECT using IN googleUn IN que usa SELECTO jerarquizado

There are other operators such as "ALL" and "ANY"; these may be used in similar cases. I don't like them and I won't tell you about them.googleHay otros operadores tales como "TODOS" y "CUALESQUIERA"; éstos se pueden utilizar en casos similares. No tengo gusto de ellos y no le diré sobre ellos.