1) SQL код бичих дараалал (Coding Order):
- SELECT
- DISTINCT
- FROM
- JOIN
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- LIMIT
2) SQL гүйцэтгэх дараалал (Execution Order) ба тайлбар:
- FROM – Өгөгдлийг татаж авах хүснэгт(үүд)-ийг тодорхойлно.
- JOIN – Хүснэгтүүдийг заасан нөхцлийн дагуу нийлүүлнэ.
- WHERE – Мөрүүдийг бүлэглэхийн өмнө шүүнэ.
- GROUP BY – Тодорхой нэг баганаар бүлэглэн групплэнэ.
- HAVING – Бүлэглэсэн үр дүнгүүдийг шүүнэ.
- SELECT – Шаардлагатай багануудыг сонгон авна.
- DISTINCT – Сонгогдсон үр дүнгээс давтагдсан мөрүүдийг устгана.
- ORDER BY – Үр дүнг багануудын утгын дагуу өсөхөөр эсвэл буурахаар эрэмбэлнэ.
- LIMIT – Буцах мөрийн тоог хязгаарлана.
Жишээ:
SELECT DISTINCT column_name(s)
FROM table1
JOIN table2
ON table1.common_column =
table2.common_column
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s)
LIMIT n;
SELECT DISTINCT
s.store_name,
COUNT(o.order_id) AS orders_count
FROM orders o
JOIN stores s
ON o.store_id = s.store_id
WHERE o.order_date >= '2025-01-01'
GROUP BY s.store_name
HAVING COUNT(o.order_id) > 100
ORDER BY orders_count DESC
LIMIT 5;
Query унших:
FROM
→ orders хүснэгтээс эхлэнJOIN
→ stores хүснэгттэй store_id-р нийлүүлэхWHERE
→ 2025 оны эхнээс хийх захиалгуудыг шүүхGROUP BY
→ дэлгүүрээр бүлэглэхHAVING
→ 100-гаас их захиалга авсан дэлгүүрүүдийг шүүхSELECT
→ дэлгүүрийн нэр болон захиалгын тоог авахDISTINCT
→ давхардлыг арилгахORDER BY
→ хамгийн олон захиалгатайгаар эрэмбэлэхLIMIT
→ Эхний 5 мөр буцаах