คำสั่ง SQL
รูปแบบคำสั่งการสร้างตาราง
CREATE TABLE <table name>
(<column_name><>[<size>][[constraint<constraint
name>]constraint type], [column
name>data type>[<size>],…]);
ตัวอย่าง
CREATE TABLE EMPLOYEE
(Empnum
CHAR(4) Empname
CHAR (15),Salary NUMBER)
PRIMARY KEY (Empnum));
สั่งการเพิ่มข้อมูล
คำสั่งการเพิ่มข้อมูลในตาคำรางจะใช้คำสั่ง
INSERT จะมีอยู่ 2 รูปแบบคือ การเพิ่มข้อมูลเข้าไปทีละแถว
และ การเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคำสั่งค้นหาข้อมูล
1.1 คำสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERTเข้าไปโดยตรง รูปแบบของคำสั่งเป็นดังนี้
INSERT
INTO <tablename>[(column 1, column 2,…)]
VALUE(<value1,value2,
…>);
ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า
INSERT INTO SALES
VALUES( 1001, “Chaiwat”, “Bangkok”,0.12);
ผลของคำสั่งนี้ จะมีข้อมูลปรากฎในทุกคอลัมน์ในตารางพนักงานขายดังนี้
SALENO
|
SALENAME
|
ADDRESS
|
SALECOM
|
1001
|
Chaiwat
|
Bangkok
|
0.12
|
ตัวอย่าง
ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ชื่อเมือง Bangkok
ชื่อลูกค้า
Arlee และหมายเลขลูกค้า 2001 ลงในตารางลูกค้า ใช้คำสั่งดังนี้
INSERT INTO CUSTOMER (ADDRESS,CUSNAME,CUSNO)
VALUES( 'Bangkok','Arlee', 2001);
ผลของคำสั่งในตารางลูกค้า
จะทำให้คอลัมน์ ADDRESS มีค่าเป็น Bangkok คอลัมน์ CUSNAME จะมีค่าเป็น Arlee คอลัมน์ CUSNO จะมีค่าเป็น 2001
CUSNO
|
CUSNAME
|
ADDRESS
|
RATING
|
SALENO
|
2001
|
Arlee
|
Bangkok
|
คำสั่ง SQL
การเรียกคำสั่งใน SQL ในการดูข้อมูลในโปรแกรม ACCESS
คำสั่ง SELECT
1. กำหนดข้อมูลใน QUERY เรียกชื่อ TABLE ที่ต้องการ
2. เมนู VIEW เลือกคำสั่ง SQL view
3. พิมพ์คำสั่ง
4. RUN รูป เพื่อแสดงผล
การเรียกดูข้อมูลทั้งตาราง
รูปแบบของคำสั่ง SELECT เพื่อใช้เรียกดูข้อมูลทุกคอลัมน์จากตารางใดตารางหนึ่งเป็นดังนี้คือ
รูปแบบ
Select *
From
<table name>;
ในการเรียกดูข้อมูลทั้งตารางจะต้องใช้เครื่องหมาย * เพื่อแทนการเรียกดูข้อมูลจากทุกคอลัมน์ของตารางหนึ่ง
เช่นเรียกดูข้อมูลทั้งตารางของ EMPLOYEE
คำสั่งที่ใช้คือ
Select *
From <EMPLOYEE>;
การเรียกดูข้อมูลเพียงบางคอลัมน์
รูปแบบคำสั่ง SELECT เพื่อเรียกดูข้อมูลเพียงคอลัมน์จากตารางใดตารางหนึ่ง คือ
รูปแบบ
Select
<Column1, Column2...>
From
<table name>;
ในการเรียกดูข้อมูลเพียงบางคอลัมน์ จำเป็นต้องระบุชื่อคอลัมน์ให้ถูกต้อง ตามที่ระบุไว้ในโครงสร้าง หากเรียกดูมากกว่าหนึ่งคอลัมน์จะต้องมีเครื่องหมาย , คั่นระหว่างซื่อคอลัมน์
เช่น ต้องการเรียกดู ชื่อพนักงาน ตำแหน่ง เงินเดือน
คำสั่งที่ใช้คือ
Select NAME, POSITION, SALARY
From EMPLOYEE;
การเรียกดูข้อมูลโดยเปลี่ยนชื่อฟิลด์
ในบางครั้งชื่อฟิลด์ที่เราตั้งขึ้นอาจจะไม่ตรงกับความต้องการ เราสามารถเปลี่ยนชื่อของฟิลด์ใหม่ในการเรียกดูข้อมูลได้โดยใช้ AS
เช่น ต้องการชื่อฟิลด์ POSITION เป็น DEPT
คำสั่งที่ใช้คือ
Select POSITION AS DEPT
From
EMPLOYEE;
การเรียกดูข้อมูลโดยไม่ให้แสดงข้อมูลที่ซ้ำกัน
DISTINCT เป็นคำสั่งที่ใช้ตัดฟิลด์ที่มีค่าของข้อมูลซ้ำกันและจัดเรียงข้อมูมใหม่(เรียงจากน้อยมาหามาก) เมื่อต้องการดูข้อมูลจากตารางโดยไม่ให้แสดงข้อมูลซ้ำกันออกมา จะใช้คำว่า DISTINCT หลังคำว่า SELECT
เช่น ต้องการเรียกดู ตำแหน่งของพนักงานที่ไม่ซ้ำกัน
คำสั่งที่ใช้คือ
Select DISTINCT POSITION
From
EMPLOYEE;
Top n เป็นการเลือกเรคคอร์ดจากตำแหน่งของเรคคอร์ดแรกไปยังตำแหน่งของเรค
คอร์ดระบุไว้
เช่น ต้องการเรียกดู เรคคอร์ดแรกถึงเรคคอร์ดที่5
คำสั่งที่ใช้คือ
Select Top 5 *
From
EMPLOYEE;
การเรียกดูข้อมูลโดยแสดงผลข้อมูลทางคอลัมน์เป็นนิพจน์ทางคณิตศาสตร์
เครื่องหมาย ความหมาย
+
(Add) บวก
-
(Subtract) ลบ
*
(Multiply) คูณ
/
(Divide) หาร
เช่น ต้องการคำนวณหาเงินเดือนสุทธิหลังหักภาษี 3% ของเงินเดือน
คำสั่งที่ใช้คือ
Select EMPNAME,
SALARY-(SALARY*0.03)AS TOTAL_SALARY
From
EMPLOYEE;
การจัดเรียงลำดับผลลัพธ์โดยใช้ ORDER BY
ORDER BY เป็นคำสั่งที่ใช้สำหรับการเรียงลำดับหรือ Sorting ขัอมูลตามอักษรหรือฟิลด์ที่กำหนด สามารถกำหนดการเรียงจากมากไปหาน้อย (Descending order (DESC) หรือจากน้อยไปหามาก (Ascending order (ASC)) โดยทั่วไปแล้วจะเรียงลำดับจากน้อยไปหามากเสมอ
เช่น ต้องการเรียงลำดับชื่อของพนักงาน
คำสั่งที่ใช้คือ คำสั่งที่ใช้คือ คำสั่งที่ใช้คือ Select EMPNAME
Select EMPNAME Select EMPNAME
From
EMPLOYEE From EMPLOYEE
From MPLOYEE
Order By ENPNAME;
Order By ENPNAME ASC; Order By ENPNAME DESC;
นอกจากนี้การใช้ ORDER BY ยังสามารถใช้เลขกำกับแทนการใช้ชื่อฟิลด์ได้อีกด้วย
เช่น การเรียกดูข้อมูลโดยจัดเรียงผลลัพธ์ตามชื่อมากไปหาน้อย และเงินเดือนด้วย
Select EMPNAME, SALARY
From
EMPLOYEE
ORDER BY 1 DESC 2;
การเรียกดูข้อมูลแบบมีเงื่อนไข
การเรียกดูข้อมูลแบบมีเงือนไข เป็นการระบุค่าเฉพาะของข้อมูลที่ต้องการเรียกดู อาจจะใช้เงื่อนไขเพื่อดึงดูข้อมูลของพนักงานที่มีเงินเดือนมากกว่า 3000 เป็นต้น ดังนั้นการเรียกดูข้อมูลแบบมีเงื่อนไขโดยมีโอเปอร์เรเตอร์ทางตรรกะหรือ โอเปอเรเตอร์ของ SQL เป็นต้นเป็นตัวประกอบในการแสดงเงื่อนไข
การเรียกดูข้อมูลแบบมีเงื่อนไข จะใช้วลีหรืออนุประโยค WHERE ต่อท้ายวลีหรืออนุประโยค FROM รูปแบบคำสั่ง
รูปแบบ
SELECT
<Column1, Column2...>
FROM
<table name>
WHERE
<CONDITION>;
ในอนุประโยค WHERE
ประกอบด้วยส่วนสำคัญ 3 ส่วนคือ
1. ชื่อคอลัมน์
2. โอเปอเรเตอร์การเปรียบเทียบ ซึ่งแบ่งออกเป็นโอเปอเรเตอร์ทางตรรกะ (LOGICAL OPERATER) โอเปอเรเตอร์ SQL รวมถึงการใช้โอเปอเรเตอร์ BOOLEAN
3. ข้อมูลเฉพาะที่ต้องการแสดงเป็นเงื่อนไขของชื่อคอลัมน์ที่ระบุในข้อ 1 อาจเป็นค่าคงที่ (CONSTANT) กลุ่มของข้อมูลหรือ นิพจน์(EXPRESSON) หรือชื่อคอลัมน์อื่นที่ต้องการนำมาเปรียบเทียบข้อมูลเฉพาะที่เป็นประเภทตัวอักษรหรือ วัน เดือน ปี (DATE) เมื่อนำมาเป็นเงื่อนไขเฉพาะจะต้องมีเครื่องหมาย ‘ ‘ กำกับ
เครื่องหมายการแสดงการเปรียบเทียบค่าข้อมูล
โอเปอเรเตอร์ ความหมาย
= เท่ากับ
> มากกว่า
>= มากเท่ากับ
< น้อยกว่า
<= น้อยกว่าเท่ากับ
<> ไม่เท่ากับ
เช่น ต้องการเรียกดูข้อมูลทั้งตาราง ที่มีเงือนไขเงินเดือนมากกว่า 30000
คำสั่งที่ใช้คือ
Select *
From
EMPLOYEE
WHERE SALARY>30000;
เช่น ต้องการเรียกดูข้อมูล รหัส ชื่อพนักงาน รหัสแผนก ของพนักงานที่มีตำแหน่ง MANAGER
คำสั่งที่ใช้คือ
Select EMPNAME, EMPNAME, DEPNO
From
EMPLOYEE
WHERE POSITION = ‘MANAGER’;
เช่น ต้องการเรียกดูข้อมูลชื่อพนักงานที่มีเงินเดือนต่อปีมากกว่า 300000
คำสั่งที่ใช้คือ
Select EMPNAME, SALARY
From
EMPLOYEE
WHERE SALARY*12>300000
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง BETWEEN...
AND....
BETWEEN...AND เป็นโอเปอรเรเตอร์ที่กำหนดเงื่อนไขของคอลัมน์เป็นค่าระหว่างค่าสองค่า การใช้
BETWEEN...AND จะแสดงต่อท้ายชื่อคอลัมน์ที่ถูกระบุให้เป็นเงื่อนไข
เช่น ต้องการเรียกดูข้อมูลที่แสดงชื่อ และเงินเดือนของพนักงานที่มีเงินเดือนอยู่ระหว่าง 20000 กับ 50000
คำสั่งที่ใช้คือ
Select EMPNAME, SALARY
From
EMPLOYEE
WHERE SALARY BETWEEN 20000 AND 50000;
หรือ
เช่น ต้องการเรียกดูข้อมูลของพนักงานที่เริ่มทำงานระหว่างวันที่ 01/01/94 ถึง 11/30/94
คำสั่งที่ใช้คือ
Select *
From
EMPLOYEE
WHERE STARTDATE BETWEEN #01/01/94# AND #11/30/94#;
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง IN
IN เป็นโอเปอรเรเตอร์ที่ใช้กับเงื่อนไขของคอลัมน์ที่ต้องการระบุเงื่อนไขเป็นกลุ่มของข้อมูลโดย IN จะแสดงต่อท้ายชื่อคอลัมน์ที่ถูระบุเป็นเงื่อนไข และกลุ่มของข้อมูลที่เป็นข้อมูลเฉพาะของคอลัมน์ที่เป็นเงื่อนไขนี้ จะระบุในวงเล็บ และมีเครื่องหมาย , คั่น
เช่น ต้องการเรียกดูข้อมูลรหัส ชื่อ เงินเดือน และรหัสผู้บังคับบัญขาของพนักงานที่มีรหัสผู้บังคับบัญชาเป็น 1002
2002 และ 3004
คำสั่งที่ใช้คือ
Select EMPNUM, EMPNAME,
SALARY,MGRNO
From
EMPLOYEE
WHERE MRGNO IN (‘1002’,’2002’, ‘3004’);
หรือ
เช่น ต้องการเรียกดูข้อมูลของพนักงานที่อยู่แผนกที่มีรหัส 20 และ 40 โดยให้แสดงเรียงตามเงินเดือนจากมากไปหาน้อย
คำสั่งที่ใช้คือ
Select *
From
EMPLOYEE
WHERE DEPNO IN(‘20’,’40’)
ORDER BY SALARY DESC;
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง LIKE
LIKE เป็นโอเปอรเรเตอร์ที่ใช้ในการค้นหาข้อมูลของคอลัมน์ที่เก็บข้อมูลประเภทตัวอักษรเท่านั้น โดยยังไม่ทราบค่าที่แน่นอนทั้งหมดของข้อมูลที่จะค้นหา หรือรู้เพียงบางตัวอักษรเท่านั้น โอเปอเรเตอร์ LIKE จะระบุต่อท้ายชื่อคอลัมน์ที่เป็นเงื่อนไข โดยจะใช้สัญญาลักษณ์ช่วยในการค้นหาข้อมูลเป็นตัวช่วยในการค้นหาข้อมูลที่เรียกว่า Wild Card (อักขระพิเศษ) ดังนี้
ตัวอักขระพิเศษ ความหมาย
* แทนอักษรใดๆ กี่ตัวก็ได้
? แทนอักษรใดๆ 1 ตัว
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่ขึ้นต้นด้วยอักษร S อย่างเดียว
คำสั่งที่ใช้คือ
Select EMPNAME
From
EMPLOYEE
WHERE EMPNAME LIKE “S*”;
หรือ
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่ลงท้ายด้วยอักษร E อย่างเดียว
คำสั่งที่ใช้คือ
Select EMPNAME
From
EMPLOYEE
WHERE EMPNAME LIKE”*E*”;
หรือ
เช่น ต้องการเรียกดูข้อชื่อพนักงานที่มีอักษร Hเป็นตัวที่2แล้วตามด้วยอะไรก็ได้
คำสั่งที่ใช้คือ
Select EMPNAME
From
EMPLOYEE
WHERE EMPNAME LIKE”?H*”;
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้คำสั่ง IS NULL
IS NULL เป็นโอเปอเรเตอร์ที่ใช้ในแสดงค่าของคอลัมน์ที่มีค่าเป็นค่าว่าง หรือไม่มีค่า
เช่น ให้แสดงชื่อคอลัมน์ที่ไม่มีผู้บังคับบัญชา
คำสั่งที่ใช้คือ
Select EMPNAME
From
EMPLOYEE
WHERE MGRNO IS NULL;
นอกจากโอเปอเรเตอร์ของSQL ทั้ง 4 ที่กล่าวมาข้างต้น โอเปอเรเตอร์เหล่านี้ยังสามารถใช้เป็นเงื่อนไขในเชิงปฏิเสธ โดยใช้ NOT นำหน้าดังนี้
โอเปอเรเตอร์ ความหมาย
NOT BETWEEN ... AND ไม่มีค่าอยู่ระหว่างค่าสองค่าที่ระบุ
NOT IN ไม่มีค่าที่เป็นกลุ่มข้อมูลที่ระบุ
NOT LIKE ไม่มีค่าตามตัวอักษรหรือสัญญลักษณ์
IS NOT NULL ไม่มีค่าเป็นค่าว่าง
การเรียกดูข้อมูลแบบมีเงื่อนไขโดยใช้โอเปอเรเตอร์บูลีน
การเรียกดูข้อมูลที่มีเงื่อนไขมากกว่าหนึ่งเงื่อนไข สามารถใช้โอเปอเรเตอร์บูลีนเป็นตัวเชื่อมโยงเงื่อนไขดังกล่าว โอเปอเรเตอร์บูลีน ประกอบด้วย
AND ใช้เชื่อมเงื่อนไขสองเงื่อนไข โดยข้อมูลที่จะแสดงออกมาจะต้องเป็น จริงตามเงื่อนไขทั้งสอง
OR ใช้เชื่อมเงื่อนไขสองเงื่อนไข โดยข้อมูลที่จะแสดงออกมาจะต้องเป็น จริงตามเงื่อนไขใดเงื่อนไขหนึ่ง
NOT ใช้แสดงหน้าเงื่อนไขใดเงื่อนไขหนึ่ง เพื่อให้ได้ข้อมูลที่ไม่เป็นไปตามเงื่อนไขที่ระบุ
การลำดับการทำงานก่อนหลังของโอเปอเรเตอร์
จะเห็นว่าโอเปอเรเตอร์ต่างๆ
ที่ใช้ในการแสดงเงื่อนไขมีมากมาย
การลำดับการทำงานของโอเปอเรเตอร์จะสามารถกำหนดให้ทำงานก่อนหลังด้วยเครื่องหมายวงเล็บ
( ) เหมือนหลักการคำนวณทางคณิตศาสตร์
เช่น ให้แสดงรหัส ชื่อ ตำแหน่ง และเงินเดือนของพนักงานที่มีตำแหน่งงานเป็นMANAGER และมีเงินเดือนอยู่ระหว่าง 30000 - 50000
คำสั่งที่ใช้คือ
Select EMPNUM, EMPNAME, POSITION, SALARY
From
EMPLOYEE
WHERE SALARY BETWEEN 30000 AND 50000 AND
POSITION=’MANAGER’;
หรือ
เช่น ให้แสดงชื่อ ตำแหน่ง เงินเดือนของพนักงานที่มีเงินเดือนมากว่า 20000 และมีตำแหน่งเป็นMANAGER หรือ SUPERVISOR
คำสั่งที่ใช้คือ
Select EMPNAME, POSITION, SALARY
From
EMPLOYEE
WHERE SALARY >20000 AND (POSITION=’MANAGER’ OR
POSITION=’SUPERVISOR’);
หรือ
เช่น ให้แสดงข้อมูลของพนักงานที่มีเงินเดือนน้อยกว่า 20000และและไม่ได้อยู่แผนกที่มีรหัส 20
คำสั่งที่ใช้คือ
Select *
From
EMPLOYEE
WHERE SALARY <=20000 AND NOT DEPNO=’20’;
การแสดงข้อมูลด้วยฟังก์ชั่นที่เกี่ยวกับการรวม
ในการเรียกดูข้อมูลอาจกระทำการสรุปค่าของข้อมูล โดยการรวม การหาค่าเฉลี่ย การนับหรือการหาค่าสูงสุด หรือต่ำสุด
ฟังก์ชั่นที่เกี่ยวกับการรวมที่สามารถนำไปใช้ในการเรียกดูข้อมูลอย่างมีเงื่อนไขได้ด้วย
ฟังก์ชั่น ผลที่ได้จากการใช้ฟังก์ชั้น
AVG([*|DISTINCT]<COLUMN
NAME>) เป็นฟังก์ชั่นที่ใช้ในการหาค่าเฉลี่ย
หรือ
AVG([*|DISTINCT] <COLUMN EXPRESSION>) ของคอลัมน์หนึ่ง ๆ ที่เก็บข้อมูลประเภทตัวเลข
COUNT([*|DISTINCT]<COLUMN
NAME>) เป็นฟังก์ชั่นที่ใช้ในการนับจำนวน
แถว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น