如何在一个表中连接两个select语句?

时间:2018-03-11 00:48:43

标签: mysql

我是mysql的新手,我有两个正确工作的select语句,名称最长和最短。我真的不明白我怎么能在一个声明中加入他们。请有人帮帮忙。

以下是查询:

SELECT name AS Country, CHAR_LENGTH(name) AS NameLength 
FROM country 
ORDER BY CHAR_LENGTH(name) DESC, name 
LIMIT 1;

SELECT name AS Country, CHAR_LENGTH(name) AS NameLength 
FROM country 
ORDER BY CHAR_LENGTH(name), name 
LIMIT 1;

我正在寻找的结果是:

Country                                        NameLength 
----------------------------------------------------------
South Georgia and the South Sandwich Islands   44     
Chad                                           4     
Cuba                                           4   

1 个答案:

答案 0 :(得分:0)

您使用UNION:

SELECT Country, NameLength FROM (
SELECT name AS Country, CHAR_LENGTH(name) AS NameLength FROM country LIMIT 1;
UNION
SELECT name AS Country, CHAR_LENGTH(name) AS NameLength FROM country LIMIT 1; )a
ORDER BY NameLength DESC, Country