Skip to content

It's not that we humans only take debts to manage our 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 notebook, we 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. We are going to find the answers to questions like:

  • What is the total amount of debt that is owed by the countries listed in the dataset?
  • Which country owns the maximum amount of debt and what does that amount look like?
  • What is the average amount of debt owed by countries across different debt indicators?

Below is a snapshot of the database you will be working with:

country_namecountry_codeindicator_nameindicator_codedebt
AfghanistanAFG"Disbursements on external debt, long-term (DIS, current US$)"DT.DIS.DLXF.CD72894453.7
AfghanistanAFG"Interest payments on external debt, long-term (INT, current US$)"DT.INT.DLXF.CD53239440.1
AfghanistanAFG"PPG, bilateral (AMT, current US$)"DT.AMT.BLAT.CD61739336.9
AfghanistanAFG"PPG, bilateral (DIS, current US$)"DT.DIS.BLAT.CD49114729.4
AfghanistanAFG"PPG, bilateral (INT, current US$)"DT.INT.BLAT.CD39903620.1
AfghanistanAFG"PPG, multilateral (AMT, current US$)"DT.AMT.MLAT.CD39107845
AfghanistanAFG"PPG, multilateral (DIS, current US$)"DT.DIS.MLAT.CD23779724.3
AfghanistanAFG"PPG, multilateral (INT, current US$)"DT.INT.MLAT.CD13335820
AfghanistanAFG"PPG, official creditors (AMT, current US$)"DT.AMT.OFFT.CD100847181.9
AfghanistanAFG"PPG, official creditors (DIS, current US$)"DT.DIS.OFFT.CD72894453.7

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

Spinner
DataFrameas
num_distinct_countries
variable
-- Q: What is the number of distinct countries present in the database? 

-- num_distinct_countries
SELECT 
	COUNT(DISTINCT international_debt.country_name) AS num_distinct_countries 
FROM international_debt;
Spinner
DataFrameas
distinct_debt_indicators
variable
-- Q: What are the distinct debt indicators?

-- distinct_debt_indicators
SELECT 
	DISTINCT international_debt.indicator_code AS distinct_debt_indicators
FROM international_debt
ORDER BY distinct_debt_indicators
Spinner
DataFrameas
total_debt
variable
-- Q: What is the total amount of debt owed by all the countries present in the table, in millions?

-- total_debt
SELECT 
	ROUND(SUM(international_debt.debt) / 1000000, 2) AS total_debt
FROM international_debt
Spinner
DataFrameas
highest_debt_country
variable
-- Q: What country has the highest amount of debt?

-- highest_debt_country
SELECT 
	international_debt.country_name,
	SUM(international_debt.debt) AS total_debt
FROM international_debt
GROUP BY country_name
ORDER BY total_debt DESC
LIMIT 1
Spinner
DataFrameas
avg_debt_per_indicator
variable
-- Q: What is the average amount of debt across different debt indicators?

-- avg_debt_per_indicator
SELECT
	international_debt.indicator_code AS debt_indicator,
	international_debt.indicator_name,
	AVG(international_debt.debt) AS average_debt
FROM international_debt
GROUP BY international_debt.indicator_code, international_debt.indicator_name
ORDER BY average_debt DESC
LIMIT 10;
Spinner
DataFrameas
highest_principal_repayment
variable
-- Q: What is the highest amount of principal repayments in the "DT.AMT.DLXF.CD" category?

-- highest_principal_repayment
SELECT
	international_debt.country_name,
	international_debt.indicator_name
FROM international_debt
WHERE international_debt.debt = (SELECT 
								 	MAX(debt) 
								 FROM international_debt 
								 WHERE indicator_code = 'DT.AMT.DLXF.CD');
-- ORDER BY international_debt.debt DESC
-- LIMIT 1;