- ฐานข้อมูล...
DESCRIPTION
วิชา 4122612 เทคโนโลยีสารสนเทศสำหรับงานทะเบียนบุคคลและการจ่ายเงินเดือน ( Information Technology for Personal Record and Payroll ). - ฐานข้อมูล และส่วนติดต่อกับผู้ใช้งาน. คำสั่ง SQL สำหรับนิยามข้อมูล. 1. คำสั่ง Create Table - PowerPoint PPT PresentationTRANSCRIPT
- ฐานข้�อมูล และส่�วนติ�ดติ�อกั�บผู้�ใช้�งาน
วิ�ชา 4122612 เทคโนโลยี สารสนเทศส�าหร�บงานทะเบ ยีนบ�คคลและการจ่�ายีเง�นเดื�อน(Information Technology for Personal Record and Payroll)
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล1. คำ�าส่��ง Create Table
ใช ในการสร าง Relation โดืยีการระบ�ช�!อ Attribute ต่�างๆ ขนาดืควิามกวิ าง ประเภทของข อม(ล รวิมถึ*งการระบ�วิ�า Attribute ใดืเป+น Primary key หร�อ Foreign key
ร(ปแบบ CREATE TABLE<TABLE NAME> (<COLUMN NAME><DATA TYPE>[<WIDTH>],…
[,PRIMARY KEY DEFINITION][,FOREIGN KEY DEFINETION]);
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล2. คำ�าส่��ง Alter Table
ใช ในการเพิ่�!ม Attribute ใน Relation ท !ม อยี(�เดื�มร(ปแบบ ALTER TABLE<TABLE NAME> ADD (<COLUMN NAME><DATA
TYPE><WIDTH>,…);
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล3. คำ�าส่��ง Drop Table
ใช ในการลบ Relation ร(ปแบบ DROP TABLE<TABLE NAME>;
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล4. คำ�าส่��ง CREATE INDEX
ใช ในการสร าง INDEXร(ปแบบ CREATE [UNIQUE] INDEX<INDEX NAME> ON<TABLE NAME><COLUMN NAME>,…);
เช�น CREATE INDEX QTYIDX ON ORDER(QTY);
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล5. คำ�าส่��ง DROP INDEX
ใช ในการลบ INDEXร(ปแบบ DROP INDEX<INDEX NAME>;
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล6. คำ�าส่��ง CREATE VIEW
ใช ในการสร าง VIEWร(ปแบบ CREATE VIEW <VIEW NAME> AS SELECT Statement;เช�น CREATE VIEW SPVIEW AS SELECT S#,P#,QTY FROM SP
WHERE QTY>100;
คำ�าส่��ง SQL ส่�าหรั�บน�ยามูข้�อมูล7. คำ�าส่��ง DROP VIEW
ใช ในการลบ VIEWร(ปแบบ DROP VIEW<VIEW NAME>;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล1 . คำ�าส่��ง INSERT
ใช ในการใส�ข อม(ล Tuple ลงใน Relation โดืยีการเพิ่�!มจ่ะเพิ่�!มไดื ท ละ 1 Tuple ต่�อคร�.ง
ร(ปแบบ INSERT INTO<TABLE NAME>
[<COLUMN LIST>] VALUES (<VALUE LIST>);เช�น INSERT INTO P(PID,PNAME,COLOR,CITY) VALUES(‘P1’,’PEN’,’BLUE’,’ROME’);
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล2 . คำ�าส่��ง UPDATE
ใช ในการเปล !ยีนแปลงข อม(ล Tuple ใน Relationร(ปแบบ UPDATE <TABLE NAME>
SET<COLUMN NAME> = <VALUE>[WHERE <CONDITIONS>];
เช�น UPDATE PWHERE PID = ‘P3’;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล3. คำ�าส่��ง DELETE
ใช ในการลบข อม(ลในแต่�ละ Tupleร(ปแบบ DELETE FROM<TABLE NAME>
[WHERE <CONDITIONS>];เช�น DELETE FROM S
WHERE SID = ‘S3’;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล4. คำ�าส่��ง SELECT
ใช ในการเร ยีกข อม(ลจ่ากฐานข อม(ลต่ามท !ผู้( ใช ต่ องการร(ปแบบ SELECT [* | DISTINCT]<TARGET LIST>
FROM <TABLE NAME>[<ALIASES>][WHERE PREDICATE][GROUP BY <COLUMN LIST>] [HAVING PREDICATE][ORDER BY <COLUMN LIST>] [ASC | DESC];
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลกัารัเรั#ยกัดข้�อมูลแบบไมู�มู#เง%�อนไข้
อาจ่เป+นการดื(ข อม(ลท�.งต่ารางหร�อบางแอททร�บ�วิต่1หร�อโดืยีการให จ่�ดืเร ยีงข อม(ล
เช�นSELECT * FROM SUPPLIER;SELECT PNO,PNAME FROM PRODUCT;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลกัารัเรั#ยกัดข้�อมูลแบบมู#เง%�อนไข้
เป+นการระบ�ช�!อแอททร�บ�วิต่1ท !ต่ องการระบ�เป+นเง�!อนไขและข อม(ลเฉพิ่าะในอน�ประโยีค WHERE โดืยีการระบ�เง�!อนไขจ่ะน�า operator ต่�างๆ เข ามาใช ในการแสดืงเง�!อนไข ม ดื�งน .
ใช Logical และ Boolean Operator Logical Operatorใช แสดืงการเปร ยีบเท ยีบค�าของข อม(ล จ่ะแสดืงอยี(�ระหวิ�างช�!อคอล�มน1และข อม(ลเฉพิ่าะท !ต่ องการแสดืงเป+นเง�!อนไข Operator ดื�งกล�าวิประกอบดื วิยี >, <, = , >=, <=, <>
Boolean Operator ใช ส�าหร�บการเร ยีกดื(ข อม(ลท !ม เง�!อนไขมากกวิ�าหน*!งเง�!อนไข เช�น AND, OR, NOT
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น SELECT PNAME
FROM PRODUCT WHERE QTY > 10;
SELECT SNO FROM SUPPLIER WHERE CITY = ‘LONDON’ OR ‘PARIS’;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล ใช้� Operator ข้อง SQL
BETWEEN…AND…ใช ก�าหนดืเง�!อนไขของแอททร�บ�วิต่1เป+นค�าระหวิ�าง 2
ค�า โดืยี Operator น .จ่ะแสดืงต่�อจ่ากช�!อแอททร�บ�วิต่1ท !ถึ(กก�าหนดืให เป+นเง�!อนไขเช�น SELECT SNO,PNO,QTY
FROM SUPPLIER WHERE QTY BETWEEN 300 AND 500;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล ใช้� Operator ข้อง SQL
INใช ก�บเง�!อนไขของคอล�มน1ท !ต่ องการระบ�เง�!อนไข
เป+นกล��มของข อม(ล โดืยี Operator น .จ่ะแสดืงต่�อจ่ากช�!อแอททร�บ�วิต่1ท !ถึ(กก�าหนดืให เป+นเง�!อนไข และกล��มของข อม(ลท !เป+นข อม(ลเฉพิ่าะของแอททร�บ�วิต่1ท !เป+นเง�!อนไขน . จ่ะอยี(�ในวิงเล3บ () และม , ค�!น
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล เช�น ให แสดืงรายีละเอ ยีดืของรห�ส ช�!อผู้( ผู้ล�ต่ ท !อยี(�
ลอนดือนและปาร ส SELECT SNO,SNAME FROM SUPPLIER WHERE CITY IN (‘LONDON’,’PARIS’);
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล ใช้� Operator ข้อง SQL
LIKEใช ในการค นหาข อม(ลของคอล�มน1ท !เก3บข อม(ลประเภท
ต่�วิอ�กษรเท�าน�.น โดืยีท !ยี�งไม�ทราบค�าแน�นอนของข อม(ลท�.งหมดืท !จ่ะค นหา หร�อร( เพิ่ ยีงบางต่�วิอ�กษรเท�าน�.น โดืยี Operator น .จ่ะระบ�ต่�อท ายีช�!อแอททร�บ�วิต่1ท !ถึ(กก�าหนดืให เป+นเง�!อนไข โดืยีจ่ะใช ส�ญล�กษณ์1ท !ช�วิยีในการค นหาข อม(ลเป+นต่�วิช�วิยีในการค นหาข อม(ลท !เร ยีกวิ�า “Wild Card”
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลส�ญล�กษณ์1ดื�งกล�าวิประกอบดื วิยี %, _ โดืยีข อม(ล
บางส�วินท !ใช ในการค นหาพิ่ร อมก�บส�ญล�กษณ์1ท�.ง 2 น . จ่ะ ‘ ’ ต่ องม เคร�!องหมายี ก�าก�บเสมอ
% ใช แทนจ่�านวินต่�วิอ�กษรไดื หลายีต่�วิ เช�น WHERE ENAME LIKE ‘N%’
_ ใช แทนต่�วิอ�กษรท !ไม�ทราบค�าไดื 1 ต่�วิ เช�น WHERE ENAME LIKE ‘N_ _ _ _ _’
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล เช�น ให แสดืงรายีละเอ ยีดืของส�วินประกอบท !ข*.นต่ นดื วิยี
อ�กษร C SELECT *
FROM PRODUCT WHERE PNAME LIKE ‘C%’;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล กัารัเรั#ยกัดข้�อมูลมูากักัว�า 1 Relation
หร�อ Join อาจ่จ่ะเร ยีกดื(ข อม(ลแบบม เง�!อนไขหร�อไม�ม เง�!อนไขก3ไดื Equi Joinแต่�ละ Relation ท !จ่ะเช�!อมโยีงก�นจ่ะต่ องม แอททร�บ�วิต่1ท !อ างอ�งก�นไดื โดืยีเง�!อนไขท !ระบ�จ่ะเปร ยีบเท ยีบก�นโดืยีใช เคร�!องหมายี =
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงข อม(ลของผู้( ผู้ล�ต่และส�วินประกอบท !อยี(�
เม�องเดื ยีวิก�นSELECT S.*, P.*FROM SUPPLIER S, PRODUCT PWHERE S.CITY = P.CITY;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล- Non Equi Join
เป+นการเช�!อมโยีงข อม(ล โดืยีเง�!อนไขท !แสดืงไม�ใช�เคร�!องหมายี = แต่�อาจ่เป+น >, <, >=, <=, <> หร�อ between…and… หร�อ in เป+นต่ นเช�น ให แสดืงข อม(ลของผู้( ผู้ล�ต่และจ่�านวินค�าส�!งซื้�.อระหวิ�าง 200 ถึ*ง 300
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงข อม(ลของผู้( ผู้ล�ต่และจ่�านวินค�าส�!งซื้�.อ
ระหวิ�าง 200 ถึ*ง 300
SELECT S.SNO, S.SNAME, O.PNO,O.QTY FROM SUPPLIER S, ORDERS O
WHERE QTY BETWEEN 400 AND 500 AND S.SNO = O.SNO;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลSelf-Joinเป+นการเช�!อมโยีงข อม(ลโดืยีใช ต่ารางเดื ยีวิก�นและต่�.งช�!อให ต่ารางเป+นช�!ออ กช�!อต่ารางหน*!ง ท�.งน .เพิ่�!อประโยีชน1ในการเช�!อมโยีงข อม(ลเช�น ให แสดืงรห�สของผู้( ขายีท !ต่� .งอยี(�ในเม�องเดื ยีวิก�น
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงรห�สของผู้( ขายีท !ต่�.งอยี(�ในเม�องเดื ยีวิก�นSELECT S1.SNO, S2.SNO
FROM SUPPLIER S1, SUPPLIER S2WHERE S1.CITY = S2.CITY
AND S1.SNO < S2.SNO
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล-Outer Join
เป+นการเช�!อมโยีงข อม(ลในล�กษณ์ะท !แสดืงข อม(ลท !ไม�เป+นไปต่ามเง�!อนไขท !ก�าหนดืไวิ ออกมาดื วิยี ท�.งน .เพิ่�!อประโยีชน1ในการดื(ข อม(ลท !ครบถึ วินมากข*.น ซื้*!งระบบจ่�ดืการฐานข อม(ลบางชน�ดืม ค�าส�!ง SQL ท !สามารถึท�าการเช�!อมโยีงเพิ่�!อเร ยีกดื(ข อม(ลในล�กษณ์ะน .ไดื เช�น ORACLE หร�อ ACCESS เป+นต่ น
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลกัารัเรั#ยกัข้�อมูลโดยใช้�ฟั(งกั)ช้�นที่#�เกั#�ยวกั�บกัารัรัวมู (Built-in
Functions) เป+นฟั9งก1ช�นท !สามารถึประมวิลผู้ลก�บข อม(ลเป+น
ช�ดื(Set)หร�อท !เร ยีกวิ�า Group function หร�อ Aggregate function
ฟั9งก1ช�นท !ใช ใน SQL ประกอบดื วิยี AVG, MAX, MIN, SUM, COUNT ฟั9งก1ช�นเหล�าน .สามารถึใช ในค�าส�!ง SELECT หร�ออน�ประโยีค HAVING
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล AVG
AVG[*|DISTINCT] <column name> หร�อAVG[*|DISTINCT] <column
expression> COUNT
*COUNT[ |DISTINCT] <column name>
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล MAX
MAX[*|DISTINCT] <column name> หร�อMAX[*|DISTINCT] <column expression>
MIN *MIN[ |DISTINCT] <column name> หร�อ
MIN[*|DISTINCT] <column expression>
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล SUM
SUM[*|DISTINCT] <column name> หร�อ
SUM[*|DISTINCT] <column expression>
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล GROUP BY
การแสดืงผู้ลในล�กษณ์ะของการจ่�ดืกล��ม ข อม(ลยี�งสามารถึใช GROUP BY เพิ่�!อส�!งให จ่�ดื
กล��มต่ามแอททร�บ�วิต่1ท !ต่ องการให จ่�ดืกล��มเฉพิ่าะลงไป
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล HAVING
ในการก�าหนดืเง�!อนไขในการส�บค น เราจ่ะระบ�ในอน�ประโยีค WHERE เป+นเง�!อนไขง�ายีๆ ไม�ม การระบ�ฟั9งก1ช�นกล��มในเง�!อนไขน�.น แต่�ถึ าหากเราต่ องการให ม การเปร ยีบเท ยีบโดืยีใช ฟั9งก1ช�นกล��ม เราจ่ะใช ใน WHERE ไม�ไดื ต่ องเล !ยีงไปใช HAVING แทน
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ต่ องการดื(แผู้นกและเง�นรวิมในแผู้นกน�.น โดืยี
แสดืงเฉพิ่าะแผู้นกท !ม เง�น รวิมมากกวิ�า 70000,
SELECT DEPTNO, SUM(SAL)FROM EMPGROUP BY DEPTNOHAVING SUM(SAL) > 70000;
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลกัารัเรั#ยกัดข้�อมูลโดยมู#คำ�าส่��งส่%บคำ�น
ย�อย(Subquery)เง�!อนไขในอน�ประโยีค WHERE สามารถึจ่ะใช ค�า
ส�!ง SELECT เป+นค�าส�!งส�บค นยี�อยี(Subquery) เพิ่�!อ เร ยีกดื(ข อม(ลไดื ในกรณ์ ท !ผู้ลของข อม(ลเร ยีกจ่ากข อ
ค�าถึามยี�อยีม ค�ามากกวิ�า 1 ค�า ในการระบ�เง�!อนไขอาจ่จ่ะ ใช Operator ต่�อไปน .ในการแสดืงเง�!อนไข
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล 1. ANY
ใช ในการเปร ยีบเท ยีบค�าของแอททร�บ�วิต่1หน*!งๆ วิ�าม ค�าต่รงก�บค�าใดืค�าหน*!งของผู้ลล�พิ่ธ์1แต่�ละค�าท !ไดื จ่ากค�าส�!งส�บค น ยี�อยีท !ระบ�เป+นเง�!อนไขในอน�ประโยีค Where หร�อไม� และจ่ะใช ร�วิมก�บ Logical Operator เช�น =, >, <, <>
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล 2. ALL ใช ในการเปร ยีบเท ยีบค�าของแอททร�บ�วิต่1หน*!งๆ วิ�าม ค�าต่รงก�บท�กค�าของผู้ลล�พิ่ธ์1ท !ไดื จ่ากค�าส�!งส�บค นยี�อยีและจ่ะใช ร�วิมก�บ Logical Operator เช�น =, >, <, <>
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูล 3. EXISTS
ใช เพิ่�!อให แสดืงวิ�าใช�(True)หร�อไม�ใช� (False) ออกมา หากค�าส�!งส�บค นยี�อยีในอน�ประโยีค Where ม ค�าต่รงก�บค�าท !อ�านไดื จ่ากค�าส�!งส�บค นยี�อยีของ SELECT ท !อยี(�ดื านนอก ถึ าเป+นจ่ร�งก3แสดืงข อม(ลออกมา ถึ าไม�จ่ร�งก3จ่ะไม�แสดืงค�าของข อม(ลน�.นออกมา
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงช�!อผู้( ผู้ล�ต่ท !ขายีส�นค ารห�ส P2
SELECT SNAMEFROM SWHERE SID IN
(SELECT SID FROM SPWHERE PID = ‘P2’);
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงช�!อผู้( ผู้ล�ต่ท !ไม�ไดื ขายี P2
SELECT SNAMEFROM SWHERE NOT EXISTS
(SELECT SID FROM SPWHERE S.SID = SP.SID
AND PID = ‘P2’);
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลเช�น ให แสดืงรห�สผู้( ผู้ล�ต่ รห�สส�นค า และจ่�านวินส�นค าท !
ขายีของผู้( ผู้ล�ต่อ�!นท !ม จ่�านวินการขายีส(งกวิ�ารห�สผู้( ผู้ล�ต่ S1SELECT SID, PID, QTYFROM SPWHERE QTY > ALL
(SELECT DISTINCT QTY FROM SP WHERE SID = ‘S1’);
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลกัารัเรั#ยกัดข้�อมูลโดยใช้� Set Operator
เราสามารถึใช เคร�!องหมายีในการค�านวิณ์ท !ใช ก�บเซื้ต่ เช�น Union, Intersection, Minus มาช�วิยีในการประมวิลผู้ลข อม(ลท !ไดื จ่ากค�าส�!งส�บค นหลายีๆ ค�าส�!งไดื เช�น
คำ�าส่��ง SQL ส่�าหรั�บจั�ดกัารัข้�อมูลSELECT ENAME, JOB
FROMEMP WHERE ENAME LI KE ‘ A%’
UNI ONSELECT ENAME, JOB
FROMEMP WHERE JOB LIKE ‘C%’;
ต่าราง Personal ต่ารางเก3บข อม(ลพิ่น�กงาน
ต่�วิอยี�าง SELECT
PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ ORDER BY PersonalID
ต่�วิอยี�างคำ�นหาจัากัช้%�อพน�กังาน SELECT PersonalID, PersonalCode,
FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ AND FirstName LIKE ‘%พิ่ร%’
ดื(ข อม(ลเฉพิ่าะ FirstName ม ค�าวิ�า พิ่ร และ “ ”DeleteFlag ม ค�า = 0
ต่�วิอยี�างคำ�นหาจัากันามูส่กั,ลพน�กังาน SELECT PersonalID, PersonalCode,
FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ AND LastName LIKE ‘%พิ่ร%’
ดื(ข อม(ลเฉพิ่าะ LastName ม ค�าวิ�า พิ่ร และ “ ”DeleteFlag ม ค�า = 0
ต่�วิอยี�างคำ�นหาจัากัรัห�ส่บ�ติรัพน�กังาน SELECT PersonalID, PersonalCode,
FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ AND PersonalCode = ‘0001’
ดื(ข อม(ลเฉพิ่าะ PersonalCode ม ค�าเท�าก�บ “0001” และ DeleteFlag ม ค�า = 0
ต่�วิอยี�างคำ�นหาจัากัรัห�ส่พน�กังาน SELECT PersonalID, PersonalCode,
FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ AND PersonalID = ‘10’
ดื(ข อม(ลเฉพิ่าะ PersonalID ม ค�าเท�าก�บ “10” และ DeleteFlag ม ค�า = 0
งาน ให น�กศ*กษาออกแบบหน าจ่อต่�ดืต่�อผู้( ใช งานในส�วิน
ทะเบ ยีนประวิ�ต่�ของพิ่น�กงาน และเข ยีน SQL Command ท !ใช ต่�ดืต่�อฐานข อม(ล พิ่ร อมท�.งอธ์�บายีการท�างานในหน าน�.น ๆ เพิ่�!มข อม(ลพิ่น�กงาน ค นหาข อม(ลพิ่น�กงาน ปร�บปร�งข อม(ลพิ่น�กงาน ลบข อม(ลพิ่น�กงาน