SELECT p.product_name, c.color_name FROM products p CROSSJOIN colors c;
这个查询会返回每个产品与每种颜色的所有可能组合。
2. 创建产品的所有尺寸和颜色组合
SELECT p.product_name, c.color_name, s.size_name FROM products p CROSSJOIN colors c CROSSJOINsizes s;
这个查询生成了每个产品的所有可能的颜色和尺寸组合。
3. 计算所有产品变体的价格(假设颜色和尺寸会影响价格)
SELECT p.product_name, c.color_name, s.size_name, ROUND(p.base_price * (CASE WHEN c.color_name = 'Red'THEN1.1 ELSE1 END) * (CASE WHEN s.size_name = 'Large'THEN1.2 WHEN s.size_name = 'Medium'THEN1.1 ELSE1 END), 2) AS variant_price FROM products p CROSSJOIN colors c CROSSJOINsizes s;
这个查询生成了所有产品变体的价格,考虑了颜色和尺寸对价格的影响。
4. 生成日期范围
WITH RECURSIVE dates(date) AS ( SELECTdate('2023-01-01') UNION ALL SELECTdate(date, '+1 day') FROM dates WHEREdate < date('2023-12-31') ) SELECT p.product_name, d.date FROM products p CROSSJOIN dates d;
这个查询使用递归 CTE 生成日期范围,然后与产品进行交叉连接,可用于创建销售报告模板。
5. 创建所有可能的产品对比组合
SELECT p1.product_name AS product1, p2.product_name AS product2 FROM products p1 CROSSJOIN products p2 WHERE p1.product_id < p2.product_id;