หลีกเลี่ยงข้อผิดพลาดที่พบบ่อย

การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

อย่าใช้ความคิดเห็นในโค้ดผิดวัตถุประสงค์

/* When selecting category and length
from films we need to use f, after this
I had a sandwich, it was a 
good sandwich ...*/
SELECT category, length
-- FROM actor as a
FROM film AS f
/* Inner join the table category 
with the film table */
INNER JOIN category AS c
ON f.film_id = c.film_id;

ไม่ควรทำ

  • เขียนความคิดเห็นยืดยาวเกินจำเป็น
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

อย่าใช้ความคิดเห็นในโค้ดผิดวัตถุประสงค์





SELECT category, length
-- FROM actor as a
FROM film AS f
/* Inner join the table category 
with the film table */
INNER JOIN category AS c
ON f.film_id = c.film_id;

ไม่ควรทำ

  • เขียนความคิดเห็นยืดยาวเกินจำเป็น
  • ทิ้งความคิดเห็นเก่าไว้ในโค้ดที่เสร็จแล้ว
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

อย่าใช้ความคิดเห็นในโค้ดผิดวัตถุประสงค์





SELECT category, length

FROM film AS f
/* Inner join the table category 
with the film table */
INNER JOIN category AS c
ON f.film_id = c.film_id;

ไม่ควรทำ

  • เขียนความคิดเห็นยืดยาวเกินจำเป็น
  • ทิ้งความคิดเห็นเก่าไว้ในโค้ดที่เสร็จแล้ว
  • เขียนความคิดเห็นที่ซ้ำซ้อนกับโค้ด
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

อย่าใช้ความคิดเห็นในโค้ดผิดวัตถุประสงค์

/* When selecting category and length
from films we need to use f, after this
I had a sandwich, it was a 
good sandwich ...*/
SELECT category, length
-- FROM actor as a
FROM film AS f
/* Inner join the table category 
with the film table */
INNER JOIN category AS c
ON f.film_id = c.film_id;
SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

อย่า SELECT ทุกคอลัมน์

SELECT *
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
release_year language_id rental_duration rental_rate length  .......
2009            1            4              6.99        173  .......    
2006            1            7              6.99        185  .......    
2004            1            5              4.99        153  .......    
2007            1            7              2.99        69   .......
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

อย่าใช้ SQL แทนภาษาโปรแกรมมิ่ง

DO $$
BEGIN
   FOR counter IN 1..5 LOOP
     IF (counter = 2) THEN
      RAISE NOTICE 'BINGO!';
     ELSE 
      RAISE NOTICE 'Not BINGO :-(';
     END IF;
   END LOOP;
END; $$
NOTICE:  1 Not BINGO :-(
NOTICE:  1 BINGO!
NOTICE:  3 Not BINGO :-(
NOTICE:  4 Not BINGO :-(
NOTICE:  5 Not BINGO :-(
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

มาฝึกกันเถอะ!

การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

Preparing Video For Download...