Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 25 août 2006

ven
25
aoû '06

La commande UNION

Une autre devinette de little Noyes

Voici 2 définitions de tables:

CREATE TABLE `users1` (
`name` varchar(10) default NULL,
`birthday` date default NULL
);

CREATE TABLE `users2` (
`name` varchar(10) default NULL,
`birthday` date default NULL
);
After inserting some data, we get the following row counts:

SELECT COUNT(*) FROM users1;
+----------+
| COUNT(*) |
+----------+
| 15       |
+----------+

SELECT COUNT(*) FROM users2;
+----------+
| COUNT(*) |
+----------+
| 12       |
+----------+
Maintenant voici une requête:

SELECT * FROM users1 
UNION 
SELECT * FROM users2;

Combien de rang y aura-t-il dans le résultat ?
  • exactement 27
  • au minimum 12
  • au minimum 15
  • entre 1 et 27
  • Zero ou plus

Voir la réponse ▼

ven
25
aoû '06

Enigme en mysql

Trouvée sur le A Little Noise
SELECT * FROM theTable;
+----+----------+
| id | data     |
+----+----------+
|  1 | milieu   |
|  2 | premier  |
|  3 | showLast |
+----+----------+

Maintenant trions sur `data`.

SELECT * FROM theTable ORDER BY data;
+----+----------+
| id | data     |
+----+----------+
|  3 | showLast |
|  1 | milieu   |
|  2 | premier  |
+----+----------+

hum??? Peut-être sur le serveur n'a pas compris.

SELECT * FROM theTable ORDER BY data ASC;
+----+----------+
| id | data     |
+----+----------+
|  3 | showLast |
|  1 | milieu   |
|  2 | premier  |
+----+----------+

Que se passe-t-il ? Il assure ne pas avoir switché vers une quelquonque collation inversée.

Voir la réponse ▼

Tags