You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 retail_world
【Schema】
# Table: Orders
[
(OrderID:INTEGER, Primary Key, Examples: [10248, 10249, 10250]),
(CustomerID:INTEGER, Examples: [90, 81, 34]),
(EmployeeID:INTEGER, Examples: [5, 6, 4]),
(OrderDate:DATETIME, Examples: [1996-07-04 00:00:00]),
(ShipperID:INTEGER, Examples: [3, 1, 2])
]
# Table: Suppliers
[
(SupplierID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(SupplierName:TEXT, Examples: [Exotic Liquid]),
(ContactName:TEXT, Examples: [Charlotte Cooper, Shelley Burke, Regina Murphy]),
(Address:TEXT, Examples: [49 Gilbert St., P.O. Box 78934, 707 Oxford Rd.]),
(City:TEXT, Examples: [Londona, New Orleans, Ann Arbor]),
(PostalCode:TEXT, Examples: [EC1 4SD, 70117, 48104]),
(Country:TEXT, Examples: [UK, USA, Japan]),
(Phone:TEXT, Examples: [(171) 555-2222, (100) 555-4822, (313) 555-5735])
]
# Table: Customers
[
(CustomerID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(CustomerName:TEXT, Examples: [Alfreds Futterkiste]),
(ContactName:TEXT, Examples: [Maria Anders, Ana Trujillo, Antonio Moreno]),
(Address:TEXT, Examples: [Obere Str. 57]),
(City:TEXT, Examples: [Berlin, México D.F., London]),
(PostalCode:TEXT, Examples: [12209, 5021, 5023]),
(Country:TEXT, Examples: [Germany, Mexico, UK])
]
# Table: OrderDetails
[
(OrderDetailID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(OrderID:INTEGER, Examples: [10248, 10249, 10250]),
(ProductID:INTEGER, Examples: [11, 42, 72]),
(Quantity:INTEGER, Examples: [12, 10, 5])
]
# Table: Employees
[
(EmployeeID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(LastName:TEXT, Examples: [Davolio, Fuller, Leverling]),
(FirstName:TEXT, Examples: [Nancy, Andrew, Janet]),
(BirthDate:DATE, Examples: [1968-12-08]),
(Photo:TEXT, Examples: [EmpID1.pic, EmpID2.pic, EmpID3.pic]),
(Notes:TEXT)
]
# Table: Shippers
[
(ShipperID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ShipperName:TEXT, Examples: [Speedy Express, United Package, Federal Shipping]),
(Phone:TEXT, Examples: [(503) 555-9831, (503) 555-3199, (503) 555-9931])
]
# Table: Products
[
(ProductID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ProductName:TEXT, Examples: [Chais, Chang, Aniseed Syrup]),
(SupplierID:INTEGER, Examples: [1, 2, 3]),
(CategoryID:INTEGER, Examples: [1, 2, 7]),
(Unit:TEXT, Examples: [10 boxes x 20 bags, 24 - 12 oz bottles, 12 - 550 ml bottles]),
(Price:REAL, Examples: [18.0, 19.0, 10.0])
]
# Table: Categories
[
(CategoryID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(CategoryName:TEXT, Examples: [Beverages, Condiments, Confections]),
(Description:TEXT)
]
【Foreign keys】
Orders.EmployeeID=Employees.EmployeeID
Orders.CustomerID=Customers.CustomerID
Orders.ShipperID=Shippers.ShipperID
OrderDetails.OrderID=Orders.OrderID
OrderDetails.ProductID=Products.ProductID
Products.CategoryID=Categories.CategoryID
Products.SupplierID=Suppliers.SupplierID

    【Question】
    Who is the customer who purchased the highest number of products in a single order? highest number of products refers to MAX(COUNT(ProductID))

    【Evidence】
    highest number of products refers to MAX(COUNT(ProductID))

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.CompanyName FROM Customers AS T1 INNER JOIN Orders AS T2 ON T1.CustomerID = T2.CustomerID INNER JOIN `Order Details` AS T3 ON T2.OrderID = T3.OrderID GROUP BY T1.CompanyName ORDER BY COUNT(T3.ProductID) DESC LIMIT 1