Joining Data in SQL, complex challenge

Need help
I got 14 ROWS instead of 18 ROWS
(Congo, Republic of the, Israel, Australia)those are the missing Rows that’s why I’m getting an error about having less rows the it should be.
More info in the other details Below.

Screen Link:

My Code:

SELECT f.name AS "country",c.population AS "urban_pop",f.population AS "total_pop"
,CAST(c.population AS FLOAT) /(SELECT CAST(f.population AS FLOAT)
 FROM facts
 )AS "urban_pct"
FROM cities c   
LEFT JOIN  ( SELECT *
             FROM facts 
            )f ON c.facts_id = f.id
            WHERE urban_pct > 0.5
            ORDER BY urban_pct;```

What I expected to happen: 
country	urban_pop	total_pop	urban_pct
Uruguay	1672000	3341893	0.500315
Congo, Republic of the	2445000	4755097	0.514185
Brunei	241000	429646	0.560927
New Caledonia	157000	271615	0.578024
Virgin Islands	60000	103574	0.579296
Falkland Islands (Islas Malvinas)	2000	3361	0.595061
Djibouti	496000	828324	0.598800
Australia	13789000	22751014	0.606083
Iceland	206000	331918	0.620635
Israel	5226000	8049314	0.649248
United Arab Emirates	3903000	5779760	0.675288
Puerto Rico	2475000	3598357	0.687814
Bahamas, The	254000	324597	0.782509
Kuwait	2406000	2788534	0.862819
Saint Pierre and Miquelon	5000	5657	0.883861
Guam	169000	161785	1.044596
Northern Mariana Islands	56000	52344	1.069846
American Samoa	64000	54343	1.177705


What actually happened: 
```country  urban_pop  total_pop  urban_pct
Uruguay  1672000 3341893  0.5003152404939356
Brunei  241000  429646   0.5609269026128487
New Caledonia  157000   271615  0.5780240413821034
Virgin Islands 60000  103574  0.5792959623071428
Falkland Islands (Islas Malvinas)  2000   3361  0.5950609937518596
Djibouti   496000  828324  0.5987995035758954 
Iceland  206000  331918  0.6206352171319423
Puerto Rico  2475000  3598357  0.6878139106264332
Bahamas, The  254000  324597  0.7825087724162577  
Kuwait 2406000  2788534  0.8628189579183901 
Saint Pierre and Miquelon  5000  5657  0.8838607035531201
Guam  169000  161785  1.0445962233828847
Northern Mariana Islands  56000  52344  1.0698456365581537  
American Samoa  64000 54343 1.1777045801667188```

Error Message:
''' There are fewer rows than there should be ''''

<!--Enter other details below: -->
The total  rows 18  but i got  14 rows So i checked what country are missing in the table And I found out that (Congo, Republic of the, Israel, Australia) are missing in cities tables but existed in facts table So Tried to switch JOINS  facts  with cities But still Same Result !.

Hi @hshf1992:

Could you provide a question link as per these guidelines so that we can have some context to your question? Thanks

In short my output has 14 rows while it should be 18 rows ,so I’m missing 4 rows to be correct.
in the other details Section I wrote how I tried to fix the problem what I have discover.