A Gentle Introduction to

SQL


Pick an engine:

CIA World Factbook

Using nested select statementsgoogleEmployer des rapports choisis nichés

The result of a SELECT statement may be used as a value in another statement. For example the statement googleLe résultat d'un rapport CHOISI peut être employé comme valeur dans un autre rapport. Par exemple le rapport SELECT region FROM cia WHERE name = 'Brazil'googleCHOISISSEZ la région À PARTIR de la C.i.a OÙ nom = le 'Brésil ' evaluates to 'South America' so we can use this value to obtain a list of all countries in the same region as 'Brazil'googleévalue à 'South America' ainsi nous pouvons employer cette valeur pour obtenir une liste de tous les pays dans la même région que le 'Brésil '

1 A nested SELECT using = googleUn = employant CHOISI niché

Note that this is not the same thing as a join.googleNotez que ce n'est pas la même chose qu'un joindre.

Two countries named Brazil?googleDeux pays ont appelé 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?googleSouvent le choisi niché est comparé contre une valeur simple comme dans l'exemple ci-dessus. L'expression (SELECT region FROM cia WHERE name = 'Brazil') devrait renvoyer exactement une région, à savoir 'South America'. Mais que se produirait si nous devions créer un nouveau pays européen et l'appeler 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.googleCeci aurait comme conséquence "une erreur d'exécution". La syntaxe du SQL est nos de base de données de moteur débuts corrects et pour l'exécuter. Elle échouera quand essayant pour exécuter le rapport externe - ce serait comme exécuter le rapport SELECT name FROM cia WHERE name = ('South America', 'Europe'). Nous courrions dans un problème semblable s'il n'y avait aucun pays appelé l'Brazil dans notre table.

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 étaient au disolve puis notre question échouerait avec une erreur - ceci peut sembler comme une issue mineure comparée à la perte d'un pays entier, mais, au risque de sembler cruel, nous préférerions qu'une table vide soit retournée dans ces circonstances tragiques.

Using multiple results in SQLgoogleEmployer des résultats multiples dans le 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.googleIl y a quelques états de SQL qui permettent des listes. Par exemple "DANS" l'opérateur examine une valeur simple contre une liste de valeurs. La volonté suivante s'exécutent sans risque n'importe comment beaucoup de Brazils nous ont.

2 A nested SELECT using IN googleUn IN employant CHOISI niché

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.googleIl y en a d'autres opérateurs tels que "TOUS" et ""; ceux-ci peuvent être employés dans les cas semblables. Je ne les aime pas et je ne vous dirai pas au sujet d'eux.