Skip to content

Humans not only take debts to manage necessities. A country may also take debt to manage its economy. For example, infrastructure spending is one costly ingredient required for a country's citizens to lead comfortable lives. The World Bank is the organization that provides debt to countries.

In this project, you are going to analyze international debt data collected by The World Bank. The dataset contains information about the amount of debt (in USD) owed by developing countries across several categories. You are going to find the answers to the following questions:

  • What is the number of distinct countries present in the database?
  • What country has the highest amount of debt?
  • What country has the lowest amount of repayments?

Below is a description of the table you will be working with:

international_debt table

ColumnDefinitionData Type
country_nameName of the countryvarchar
country_codeCode representing the countryvarchar
indicator_nameDescription of the debt indicatorvarchar
indicator_codeCode representing the debt indicatorvarchar
debtValue of the debt indicator for the given country (in current US dollars)float

You will execute SQL queries to answer three questions, as listed in the instructions.

Spinner
DataFrameas
num_distinct_countries
variable
SELECT COUNT(DISTINCT country_name) AS total_distinct_countries
FROM public.international_debt;
Spinner
DataFrameas
highest_debt_country
variable
-- SQL query to find the country with the highest amount of debt
WITH total_debt_per_country AS ( 
    SELECT 
        country_name, 
        SUM(debt) AS total_debt
    FROM 
        international_debt
    GROUP BY 
        country_name
)
SELECT 
    country_name, 
    total_debt
FROM 
    total_debt_per_country
ORDER BY 
    total_debt DESC
LIMIT 1;
Spinner
DataFrameas
lowest_principal_repayment
variable
WITH principal_repayments AS (
    SELECT 
        country_name, 
        indicator_name, 
        debt AS lowest_repayment
    FROM 
        international_debt
    WHERE 
        indicator_code = 'DT.AMT.DLXF.CD'
)
SELECT 
    country_name, 
    indicator_name, 
    lowest_repayment
FROM 
    principal_repayments
ORDER BY 
    lowest_repayment ASC
LIMIT 1;