You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

How_to_code_subqueries.sql 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*1*/
  2. SELECT
  3. DISTINCT category_name
  4. FROM
  5. categories c
  6. WHERE
  7. category_id
  8. IN (select product_id FROM products)
  9. ORDER BY
  10. category_name
  11. LIMIT 3;
  12. /*2*/
  13. SELECT
  14. product_name,
  15. list_price
  16. FROM
  17. products
  18. GROUP BY
  19. product_name
  20. HAVING
  21. AVG(list_price) > (SELECT AVG(list_price) FROM products)
  22. ORDER BY list_price DESC;
  23. /*3*/
  24. SELECT
  25. category_name
  26. FROM
  27. categories c
  28. WHERE NOT exists
  29. (SELECT category_name, category_id
  30. FROM products p
  31. WHERE c.category_id= p.category_id);
  32. /*4 part 1*/ /*kan het dat in bedrag anders is*/
  33. SELECT
  34. email_address,
  35. o.order_id,
  36. SUM(item_price - discount_amount) * quantity AS 'order_total'
  37. FROM
  38. customers c
  39. JOIN
  40. orders o
  41. USING
  42. (customer_id)
  43. JOIN
  44. order_items oi
  45. USING
  46. (order_id)
  47. GROUP BY
  48. email_address,
  49. o.order_id;
  50. /*4 part 2*/ /*fout*/
  51. SELECT
  52. email_address,
  53. MAX(item_price)
  54. FROM
  55. (SELECT
  56. email_address,
  57. o.order_id,
  58. SUM(item_price - discount_amount) * quantity AS 'order_total'
  59. FROM
  60. customers c
  61. JOIN
  62. orders o
  63. USING
  64. (customer_id)
  65. JOIN
  66. order_items oi
  67. USING
  68. (order_id)
  69. GROUP BY
  70. email_address,
  71. o.order_id) v
  72. JOIN order_items
  73. using (order_id);
  74. /*5*/
  75. SELECT
  76. p1.product_name,
  77. p1.discount_percent
  78. FROM
  79. products p1
  80. WHERE
  81. p1.discount_percent NOT IN
  82. (SELECT
  83. p2.discount_Percent
  84. FROM
  85. Products p2
  86. WHERE
  87. p1.product_name <> p2.product_name)
  88. ORDER BY product_name;
  89. /*6*/ /*fout*/
  90. SELECT
  91. email_address,
  92. order_id,
  93. order_date
  94. FROM
  95. customers c
  96. JOIN
  97. orders o
  98. ON
  99. c.customer_id = o.customer_id
  100. WHERE
  101. (SELECT MIN(ord.order_date) FROM orders ord
  102. JOIN customers c1 ON ord.customer_id = c1.customer_id
  103. GROUP BY c1.customer_id);