Introduction to Redshift
Jason Myers
Principal Engineer
SELECT *ใช้ในส่วนคำสั่งต่อไปนี้เมื่อทำได้
JOINWHEREGROUP BY
ใช้ SORTKEYs ตามลำดับใน ORDER BY
sortkey_1, sortkey_2, sortkey_3sort_key_1, sort_key_3
DISTKEY และ SORTKEYSELECT receipts.cookie_id,
sum(receipts.total)
FROM receipts
JOIN cookies ON receipts.cookie_id = cookies.cookie_id
-- Keep cookies predicates in the join to push down to nodes holding the records for cookies
AND cookies.available_on < '2023-11-14'
AND cookies.end_of_sale IS null
-- Predicates that are not part of the join or on the joined table stay in the WHERE clause
WHERE receipts.order_time > '2023-11-13'
GROUP BY 1 ORDER BY 1;
เมื่อใช้:
GROUP BYORDER BYไม่ดี
GROUP BY col_one, col_two, col_three
ORDER BY col_two, col_three, col_one
ดี
GROUP BY col_two, col_three, col_one
ORDER BY col_two, col_three, col_one
EXISTS ในเพรดิเคตเมื่อต้องการตรวจสอบเพียงว่า subquery มีผลลัพธ์หรือไม่SELECT column_name
FROM table_name
WHERE EXISTS
(SELECT column_name
FROM table_name
WHERE active is True);
Introduction to Redshift