วันศุกร์ที่ 30 สิงหาคม พ.ศ. 2556

ความแตกต่างระหว่าง GROUP BY กับ ORDER BY

ORDER BY => ถ้ามี order By ข้อความจะถูกจัดเรียง A-Z การจัดอันดับว่าจะเรียงแบบไหน Asc คือเรียงจากน้อยไปมากใหม่ไปเก่า ส่วน Desc ก็จะตรงข้ามกัน

GROUP BY => เมื่อเราพบคำที่ซ้ำกันและต้องการจัดกลุ่มให้แสดงแค่คำเดียวเราจะใช้ GROUP BY คือการจัดกลุ่มของคำให้มีคำซ้ำกันร่วมกลุ่มกัน เช่นชื่อเมือง จะเห็นว่า เวลาจะ select ให้มาแสดงมันจะแสดงคำที่ซ้ำกันด้วย "Bruxelles" แต่ถ้าใช้ GROUP BY  จะแสดงอยู่คำเดียว



วันอาทิตย์ที่ 25 สิงหาคม พ.ศ. 2556

การสร้างตารางที่เป็นแบบ auto run number

ความที่เวลาฝึก Insert in to table ไม่อยากจะใส่เจ้าตัวเลย ID ทั้งหลายแหล่ อยากให้มันรันของมันไปเองเรื่อยๆ
1 2 3 4...... แบบภาพข้างล่าง
     ID จะเป็นค่าว่าง null ไม่ได้ เพราะถ้าใส่ไม่ครบก็จะ Insert ข้อมูลไม่ได้ (บังคับให้เป็น not null) เลยค้นหาวิธี และพึ่งจะรู้ว่ามันต้องสร้าง sequence ขึ้นมาเพื่อ tag ตาราง เฮ้อ Oracle นี้ชอบทำไรยากกว่าชาวบ้านเค้าจริงๆ


 อันนี้ Code ค่ะ ได้มาจากเว็บไซต์ w3school.com ช่างเป็นเว็บไซต์การเรียนรู้ที่เลิศที่สุดในสามโลกค่ะ

CREATE TABLE Customers
(CustomerID int NOT NULL,
CustomerName varchar(255) NOT NULL,
ContactName varchar(255),
Address varchar(255),
City varchar(255),
PostalCode varchar(255),
Country varchar(255),
PRIMARY KEY (CustomerID));
สำหรับ oracle ต้องสร้าง sequence หากต้องการทำการ auto run number ของ IDให้รัน 1 2 3 4......
CREATE SEQUENCE  seq_custom
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
เวลานำข้อมูลเข้าต้องใส่    "ชื่อของsequen.nextval"
INSERT INTO Customers (customerid, CustomerName, 
ContactName, Address, City, PostalCode, Country)
VALUES (seq_custom.nextval,'Cardinal','Tom B. Erichsen',
'Skagen 21','Stavanger','4006','Norway');
***ดิฉันยังไม่ทราบการรัน ID แบบที่ไม่ใช่ตัวเลขอย่างเดียว ถ้าใครผ่านมาแล้วมีวิธีก็โปรดแนะนำด้วยค่ะ

การติดตั้ง Oracle Database 11g กับ SQL developer


      ในคาบเรียนไม่รู้ว่าหลับบ้าง ขึ้เกียจบ้าง เกรดและความรู้วิชา DB นี้จึงน้อย เลยเถิดไปจนเกรดที่ได้ดี (D+) ช่วงนั้นอยู่ในวัยกำลังกินกำลังนอน (เยอะไป)ฮา เอาล่ะวันนี้จึงอยากจะเรียนรู้พื้นฐานเองเริ่มจากการติดตั้ง


      อันดับแรก Download โปรแกรมจำลองฐานข้อมูลในเครื่องเราก่อน เครื่องที่ใช้อยู่เป็น Windows 7, 32 bit แต่ถ้าเป็นแบบ 64 bit  ตัว Oracle ไม่รองรับและลงไม่ได้

      สามารถ Download ได้จากลิงค์ข้างล่างหากใครไม่อยากยุ่งยากในการสมัครเว็บ Oracle ค่ะ อีกอย่างต้องมี JDK version 7 หรือ 6 ค่ะ แต่ต้องระวังค่ะ หากลง JDK 7 ต้องลง SQL developer version 4 (ล่าสุด) เพราะจะมีปัญหาในการ Connection ฐานข้อมูลค่ะ แต่ถ้าเป็น JDK 6 ก็ลง SQL developer version ที่ต่ำลงได้ค่ะ (แต่ที่ทำเป็น JDK 7 ค่ะ)

- jdk-7u25-windows-i586 (JDK version 7)
 http://www.mediafire.com/?r8269m9rhnaw1aj

- Oracle Database 11g Express Edition
http://www.4shared.com/zip/hLK0jgjP/OracleXE112_Win32.html

- SQL developer version 4
 http://www.4shared.com/zip/ObApR9VH/sqldeveloper-4001227-no-jre.html 


 ขั้นแรก ติดตั้ง JDK ก่อนค่ะ ถ้าบางคนมีโปรแกรมนี้อยู่แล้วก็ไม่ต้องลงค่ะ เช็คจากโฟลเดอร์ C:\Program Files\Java

 ขั้นสอง ลงโปรแกรม Oracle Database 11g Express Edition ค่ะ


จะมีให้ตั้งรหัส เอาแบบที่จำได้น่ะค่ะเพราะต้องใช้ กับ SQL developer ตอน Connect ฐานข้อมูลด้วยค่ะ


       ใครอยากได้แบบละเอียด สงสัยหรือติดปัญหาใดๆ ก็ไปที่นี้เลยค่ะ http://www.project2you.com/software-training/oracle-11g-knowlege เพราะเราก็พึงใบบุญจากเว็บไซต์นี้แหล่ะค่ะ I love you guy!!!!

       คลิกที่ ICon "Get Started With Oracle Database 11g Express Edition " จะได้ดังรูปข้างล่างหากว่าเราสามารถติดต่อกับฐานข้อมูลได้ค่ะ ถ้าบ้างคนไม่ขึ้นสงสัยไว้เลยค่ะ
        - ลง Oracle Database ถูกกับ OS ของเครื่องตัวเองหรือเปล่า ถ้าเป็น windows ใช้ได้เฉพาะ 32 bit เท่านั้นค่ะ
        - ในเครื่องใช้หลาย port หรือเปล่า และ port 8080 ถูกใช้ชนกับโปรแกรมอื่นมั้ย

 ต่อมาก็ใช้งานได้เลยค่ะ คลิกที่ "Application Express " จะมีหน้า Login ให้ค่ะ
          Usesername: sys
          Password: XXXX อะไรที่คุณตั้งตอนลง Oracle Database น่ะค่ะ


 ขั้นสาม   เปิด SQL developer version 4 ค่ะ เข้าไปที่โฟลเดอ์ที่แตกไฟล์ไว้ค่ะ  sqldeveloper-4.0.0.12.27-no-jre\sqldeveloper ดับเปิลคลิกที่ Icon 
จะมีเลือก JDK ก็เลือก JDK 7 ไปตามที่โปรแกรม Defalt มาค่ะ

        - คลิกขวาที่ Icon "Conections" ----> เลือก "Create Local Connectios..." จะแสดงฐานข้อมูลจำลองในเครื่องของเราขึ้นมาชื่อ "system-XE" ดังรูปข้างล่าง

         **** ต้องคลิกเลือก Local Connectios ก่อนการเลือก  "News Connection..." เพราะว่าตรงช่อง Connection Name คุณจะไม่เจอสิ่งใดให้เลือกเลยค่ะ*****

        - ต่อมา คลิกขวาที่ Icon "Conections" ----> เลือก "News Connection..." จะได้ดังรูป และใส่รหัสค่ะ  การคลิกเลือกก็เป็นอันใช้งานได้ค่ะ



ดูข้อมูลการใช้งาน SQL developer เพิ่มเติมที่วิดีโอนี้ค่ะ ของผู้ผลิตค่ะ อิๆ เอาของคนอื่นตลอดค่ะ



    ขอจบบทความด้วยบทกลอนของ "ตำหนักหลวงปู่มังกรขาว" ค่ะ

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