0Pricing
SQL Academy · บทเรียน

เลขคณิตและตัวดำเนินการ

บวก ลบ คูณ และหารใน SQL

เลขคณิตและตัวดำเนินการ เป็นบทเรียน SQL Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน SQL Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน

การคำนวณใน SELECT

SQL ไม่ได้มีไว้แค่ดึงแถว คุณสามารถคำนวณค่าได้โดยตรงภายในคิวรีโดยใช้ตัวดำเนินการทางคณิตศาสตร์

ในบทเรียนนี้ คุณจะบวก ลบ คูณ และหารโดยใช้คอลัมน์กับค่าคงที่ ตั้งชื่อผลลัพธ์ และทำความเข้าใจว่า PostgreSQL ตัดสินใจเลือกชนิดของผลลัพธ์แต่ละรายการอย่างไร

ลองนึกภาพตาราง order_items ที่มี quantity และ unit_price เราสามารถคำนวณยอดรวมของรายการได้โดยไม่ต้องแก้ไขโค้ดของโปรแกรม

SELECT quantity, unit_price, quantity * unit_price AS line_total
FROM order_items;

ตัวดำเนินการทางคณิตศาสตร์ห้ารายการ

PostgreSQL รองรับตัวดำเนินการทั่วไปดังต่อไปนี้:

  • + การบวก
  • - การลบ
  • * การคูณ
  • / การหาร
  • % การหาเศษ

ตัวดำเนินการเหล่านี้ใช้กับคอลัมน์ตัวเลขและค่าคงที่ได้เช่นเดียวกับในภาษาโปรแกรมทั่วไป คิวรีด้านล่างแสดงการใช้งานแต่ละรายการ

SELECT
  10 + 3  AS sum,
  10 - 3  AS difference,
  10 * 3  AS product,
  10 / 3  AS quotient,
  10 % 3  AS remainder;

ลำดับความสำคัญของตัวดำเนินการ

SQL ใช้ลำดับความสำคัญตามหลักคณิตศาสตร์มาตรฐาน: *, / และ % มีลำดับสูงกว่า + และ -

ใช้วงเล็บเพื่อระบุเจตนาให้ชัดเจนและเปลี่ยนลำดับเริ่มต้น นิพจน์สองรายการด้านล่างให้ผลลัพธ์แตกต่างกันมาก

SELECT
  2 + 3 * 4        AS without_parens,  -- 14
  (2 + 3) * 4      AS with_parens;     -- 20

การคำนวณราคาหลังหักส่วนลด

งานที่พบได้บ่อยในโลกจริงคือการใช้ส่วนลดเป็นเปอร์เซ็นต์ ให้คูณราคาด้วย (1 - discount_rate)

ในที่นี้ discount_rate จัดเก็บเป็นเศษส่วน (0.15 = 15%) วงเล็บช่วยให้มั่นใจว่าการลบจะเกิดขึ้นก่อนการคูณ

SELECT
  product_id,
  price,
  discount_rate,
  price * (1 - discount_rate) AS final_price
FROM products;

การคำนวณระหว่างคอลัมน์

ตัวถูกดำเนินการไม่จำเป็นต้องเป็นค่าคงที่ คุณสามารถรวมหลายคอลัมน์ไว้ในนิพจน์เดียวได้

ด้านล่างนี้เราคำนวณกำไรสุทธิต่อการขาย โดยนำรายได้ลบต้นทุน แล้วปรับตามจำนวนที่ขายได้

SELECT
  sale_id,
  (sale_price - cost) * quantity AS profit
FROM sales;

การตั้งชื่อผลลัพธ์ด้วย AS

คอลัมน์ที่คำนวณจะได้ชื่อที่ระบบสร้างขึ้นอัตโนมัติ เช่น ?column? หากไม่ได้ตั้งชื่อแทน ดังนั้นควรใช้ AS เพื่อกำหนดชื่อที่อ่านเข้าใจง่ายเสมอ

ชื่อแทนยังช่วยให้คุณอ้างอิงคอลัมน์ได้ชัดเจนยิ่งขึ้นในเครื่องมือและรายงาน

SELECT
  base_salary,
  base_salary * 0.10 AS bonus,
  base_salary + base_salary * 0.10 AS total_pay
FROM employees;

การคำนวณใน WHERE

คุณสามารถใช้การคำนวณในส่วนคำสั่ง WHERE ได้เช่นกัน ไม่ได้จำกัดอยู่แค่ SELECT

ตัวอย่างนี้กรองคำสั่งซื้อที่มียอดรวมจากการคำนวณมากกว่า 100 หมายเหตุ: การครอบคอลัมน์ด้วยการคำนวณอาจทำให้ไม่สามารถใช้ดัชนีได้ ดังนั้นเมื่อประสิทธิภาพมีความสำคัญ ควรใช้คอลัมน์โดยตรงในตัวกรอง

SELECT order_id, quantity, unit_price
FROM order_items
WHERE quantity * unit_price > 100;

ชนิดของผลลัพธ์ขึ้นอยู่กับข้อมูลนำเข้า

PostgreSQL อนุมานชนิดของผลลัพธ์จากตัวถูกดำเนินการ การบวกจำนวนเต็มกับจำนวนเต็มให้ผลเป็นจำนวนเต็ม หากด้านใดด้านหนึ่งเป็น numeric หรือ float ผลลัพธ์ก็จะเป็นชนิดนั้นเช่นกัน

เรื่องนี้สำคัญที่สุดกับการหาร ซึ่งเราจะกล่าวถึงในภายหลัง ในตอนนี้ให้สังเกตว่าการผสมชนิดข้อมูลจะยกระดับชนิดของผลลัพธ์

SELECT
  pg_typeof(4 + 2)        AS int_type,      -- integer
  pg_typeof(4 + 2.0)      AS numeric_type,  -- numeric
  pg_typeof(4 * 1.5);                        -- numeric

ตัวดำเนินการหาเศษ

% คืนค่าเศษที่เหลือจากการหารจำนวนเต็ม เหมาะสำหรับตรรกะแบบวนรอบ เช่น “ทุก ๆ แถวที่ N” หรือการตรวจสอบค่าคู่และค่าคี่

ด้านล่างนี้เราค้นหารหัสผลิตภัณฑ์ที่เป็นจำนวนคู่โดยใช้ % 2 = 0

SELECT product_id, name
FROM products
WHERE product_id % 2 = 0;

การปรับค่าด้วยการคำนวณ

การคำนวณไม่ได้จำกัดอยู่แค่ SELECT คุณสามารถใช้ในการ UPDATE เพื่อปรับค่าที่จัดเก็บไว้

ตัวอย่างนี้เพิ่มราคาของทุกรายการในหมวดหมู่หนึ่งขึ้น 5% นิพจน์ทางขวาจะถูกประเมินแยกกันในแต่ละแถว

UPDATE products
SET price = price * 1.05
WHERE category = 'electronics';

ระวัง NULL

การคำนวณใด ๆ ที่เกี่ยวข้องกับ NULL จะให้ผลลัพธ์เป็น NULL เพราะผลลัพธ์นั้นไม่ทราบค่า

หากคอลัมน์อาจไม่มีค่า ให้ครอบคอลัมน์ด้วย COALESCE เพื่อกำหนดค่าเริ่มต้นก่อนทำการคำนวณ

SELECT
  base + NULL                     AS is_null,      -- NULL
  base + COALESCE(bonus, 0)       AS safe_total
FROM payroll;

ตรวจสอบความเข้าใจอย่างรวดเร็ว

นิพจน์ 2 + 6 / 2 ให้ผลลัพธ์เป็นเท่าใดใน PostgreSQL

ทบทวน

คุณสามารถคำนวณค่าได้โดยตรงใน SQL:

  • + - * / % คือตัวดำเนินการหลัก
  • *, /, % มีลำดับสูงกว่า + และ - ควรใช้วงเล็บเพื่อระบุลำดับให้ชัดเจน
  • ตั้งชื่อแทนให้คอลัมน์ที่คำนวณด้วย AS
  • การคำนวณใช้ได้ใน SELECT, WHERE และ UPDATE
  • ชนิดของผลลัพธ์ขึ้นอยู่กับตัวถูกดำเนินการ และตัวถูกดำเนินการที่เป็น NULL ใด ๆ จะทำให้ผลลัพธ์เป็น NULL

ต่อไปเราจะเรียนรู้การปัดเศษและการตัดทอนผลลัพธ์ตัวเลขเหล่านี้

คำถามที่พบบ่อย

บทเรียน “เลขคณิตและตัวดำเนินการ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เลขคณิตและตัวดำเนินการ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส SQL Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เลขคณิตและตัวดำเนินการ”

บวก ลบ คูณ และหารใน SQL คุณปฏิบัติ SQL Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน SQL Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน SQL Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “เลขคณิตและตัวดำเนินการ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน SQL Academy นี้ได้ไหม

ได้ บทเรียน SQL Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เลขคณิตและตัวดำเนินการ
  2. การปัดเศษและตัดทศนิยม
  3. การหารจำนวนเต็มเทียบกับทศนิยม
  4. ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์
← กลับไปที่ SQL Academy