> For the complete documentation index, see [llms.txt](https://dshub.gitbook.io/ds-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dshub.gitbook.io/ds-hub/sql/sql-practice/popular-websites-for-sql-practice/hackerrank/sql-intermediate/weather-observation-station-5.md).

# Weather Observation Station 5

Use of UNION

[Question Link](https://www.hackerrank.com/challenges/weather-observation-station-5/problem)

Query the two cities in **STATION** with the shortest and longest *CITY* names, as well as their respective lengths (i.e.: number of characters in the name). If there is more than one smallest or largest city, choose the one that comes first when ordered alphabetically. \
The **STATION** table is described as follows:

![](https://s3.amazonaws.com/hr-challenge-images/9336/1449345840-5f0a551030-Station.jpg)

where **LAT\_N** is the northern latitude and **LONG\_W** is the western longitude.

**Sample Input**

For example, **CITY** has four entries: **DEF, ABC, PQRS** and **WXY**.

**Sample Output**

```
ABC 3
PQRS 4
```

**Note** \
You can write two separate queries to get the desired output. It need not be a single query.

```sql
(SELECT
    CITY, LENGTH(CITY)
FROM STATION s
ORDER BY LENGTH(CITY), CITY
LIMIT 1)
UNION
(SELECT
    CITY, LENGTH(CITY)
FROM STATION s
ORDER BY LENGTH(CITY) DESC, CITY ASC
LIMIT 1)
```
