Topfolio
Career TracksJob Hunt TrackerMicro Free CoursesTask CoursesPracticeInterview PracticeWork ExperienceProjects
Career TrackBlog
Support
Dashboard
Career TracksMicro Free CoursesTask Courses
SQL & Python
Interview Prep
Job Hunt TrackerWork ExperienceProjectsResume Feedback
CertificatesMy OrdersRefer & Earn
Join Community

Navigation

Dashboard
Learn
Career TracksMicro Free CoursesTask Courses
Practice
SQL & PythonInterview Prep
Career
Job Hunt TrackerWork ExperienceProjectsResume Feedback
My Stuff
CertificatesMy OrdersRefer & Earn
Join Community
Topfolio

Learn data analytics online. Real skills, real projects, real community.

courses

  • Career Tracks
  • Work Experience
  • Best Data Analyst Course in India
  • SQL Fundamentals
  • SQL Advanced
  • Python for Data
  • Micro Free Courses

practice

  • SQL Fundamentals Interview Test
  • SQL Advanced Coding Test
  • All Practice Tests

resources

  • How to Become a Data Analyst
  • SQL Interview Questions
  • Data Analyst Salary Guide
  • Free Datasets for Practice
  • SQL vs NoSQL Guide
  • Data Analyst vs Data Engineer vs Data Scientist

employers

  • Enterprise Screening
  • AI Proctoring Demo
  • Volume Pricing
  • Employer Portal

company

  • About
  • Terms
© 2026 Topfolio. All rights reserved.Made with ❤️ for aspiring analysts
Topfolio
Career TracksJob Hunt TrackerMicro Free CoursesTask CoursesPracticeInterview PracticeWork ExperienceProjects
Career TrackBlog
Support
Dashboard
Career TracksMicro Free CoursesTask Courses
SQL & Python
Interview Prep
Job Hunt TrackerWork ExperienceProjectsResume Feedback
CertificatesMy OrdersRefer & Earn
Join Community

Navigation

Dashboard
Learn
Career TracksMicro Free CoursesTask Courses
Practice
SQL & PythonInterview Prep
Career
Job Hunt TrackerWork ExperienceProjectsResume Feedback
My Stuff
CertificatesMy OrdersRefer & Earn
Join Community

Four-Table JOIN: Invoice Details

advanced~10 min35 pts
📊 View Insights

Problem

Create a detailed invoice line report joining Invoice, InvoiceLine, Track, and Customer tables.

Write a query that shows what tracks each customer purchased.

Schema: Invoice

ColumnType
InvoiceIdINTEGER (Primary Key)
CustomerIdINTEGER (Foreign Key → Customer.CustomerId)
InvoiceDateTIMESTAMP
BillingAddressTEXT
BillingCityTEXT
BillingStateTEXT
BillingCountryTEXT
BillingPostalCodeTEXT
TotalNUMERIC(10,2)

Schema: Customer

ColumnType
CustomerIdINTEGER (Primary Key)
FirstNameTEXT
LastNameTEXT
CompanyTEXT
AddressTEXT
CityTEXT
StateTEXT
CountryTEXT
PostalCodeTEXT
PhoneTEXT
FaxTEXT
EmailTEXT
SupportRepIdINTEGER (Foreign Key → Employee.EmployeeId)

Schema: Track

ColumnType
TrackIdINTEGER (Primary Key)
NameTEXT
AlbumIdINTEGER (Foreign Key → Album.AlbumId)
MediaTypeIdINTEGER (Foreign Key)
GenreIdINTEGER (Foreign Key → Genre.GenreId)
ComposerTEXT
MillisecondsINTEGER
BytesINTEGER
UnitPriceNUMERIC(10,2)

Schema: InvoiceLine

ColumnType
InvoiceLineIdINTEGER (Primary Key)
InvoiceIdINTEGER (FK → Invoice)
TrackIdINTEGER (FK → Track)
UnitPriceNUMERIC(10,2)
QuantityINTEGER

Requirements:

  • Join Customer → Invoice → InvoiceLine → Track
  • Return CustomerName, TrackName, InvoiceDate, and UnitPrice
  • Order by InvoiceDate descending, then InvoiceLineId ascending to break ties
  • Limit to 15 rows
JOINMultiple TablesFour-Table Join
📊
📊 View Question Telemetry & Insights
Failure rate, silent bug autopsy & optimal query construction
Inspect →

Master SQL & Data Analytics

Ready to take your skills to the next level? Enroll in our comprehensive Data Analyst Career Track to master SQL, Python, Excel, and Power BI.

Explore the 12-Week Data Analyst Career Track

Related questions

  • Albums with Artist Namesintermediate
  • Tracks with Genre Namesintermediate
  • Customer Purchase Historyintermediate
  • Track Count by Genreintermediate
  • Average Song Duration by Genreintermediate
  • Most Prolific Artistsintermediate
  • Rank Artists by Album Countintermediate
  • Segment Customers into Quartilesintermediate
SQL Editor

Run your code to see the result here.

Topfolio

Learn data analytics online. Real skills, real projects, real community.

courses

  • Career Tracks
  • Work Experience
  • Best Data Analyst Course in India
  • SQL Fundamentals
  • SQL Advanced
  • Python for Data
  • Micro Free Courses

practice

  • SQL Fundamentals Interview Test
  • SQL Advanced Coding Test
  • All Practice Tests

resources

  • How to Become a Data Analyst
  • SQL Interview Questions
  • Data Analyst Salary Guide
  • Free Datasets for Practice
  • SQL vs NoSQL Guide
  • Data Analyst vs Data Engineer vs Data Scientist

employers

  • Enterprise Screening
  • AI Proctoring Demo
  • Volume Pricing
  • Employer Portal

company

  • About
  • Terms
© 2026 Topfolio. All rights reserved.Made with ❤️ for aspiring analysts