300 likes | 413 Views
การสร้างตาราง : CREATE TABLE . รูปแบบคำสั่งการสร้างตาราง CREATE TABLE <table name> (<column_name > Data type <size > not null unique, < column name>data type >< size >,…... , Primary key<Column name>);. ตัวอย่าง. Create table Employee ( Eid char(4) not null unique;
E N D
การสร้างตาราง : CREATE TABLE • รูปแบบคำสั่งการสร้างตาราง • CREATE TABLE <table name> (<column_name> Data type<size> not null unique, • <column name>data type><size>,…..., • Primary key<Column name>);
ตัวอย่าง Create table Employee (Eid char(4) not null unique; Enamevarchar(25), Salary number, Position varchar(20), Address varchar(40), primary key(Eid ));
คำสั่งการเพิ่มข้อมูล • คำสั่งการเพิ่มข้อมูลในตารางจะใช้คำสั่ง INSERT จะมีอยู่ 2 รูปแบบคือ การเพิ่มข้อมูลเข้าไปทีละแถว และ การเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคำสั่งค้นหาข้อมูล • 1.1 คำสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERTเข้าไปโดยตรง รูปแบบของคำสั่งเป็นดังนี้ • INSERT INTO <tablename>[(column 1, column 2,…)] • VALUES(<value1,value2, …>);
INSERT INTO SALES • VALUES( “1001”, “Chaiwat”, “Bangkok”,0.12); • ตัวอย่างต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า ผลของคำสั่งนี้ จะมีข้อมูลปรากฎในทุกคอลัมน์ในตารางพนักงานขายดังนี้
ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ที่อยู่ Bangkok ชื่อลูกค้า Arlee และหมายเลขลูกค้า 2010 ลงในตารางลูกค้า ใช้คำสั่งดังนี้ • INSERT INTO CUSTOMER (ADDRESS,CUSNAME,CUSNO) • VALUES( “Bangkok”,”Arlee”, “2010”); • ผลของคำสั่งในตารางลูกค้า จะทำให้คอลัมน์ ADDRESS มีค่าเป็น Bangkok คอลัมน์ CUSNAME จะมีค่าเป็น Arlee คอลัมน์ CUSNO จะมีค่าเป็น 2010
การแก้ไขข้อมูลที่มีอยู่ (Update) Update <table Name> Set <Column Name> = New _Value Where <Condition>; รูปแบบ ตัวอย่าง ต้องการปรับเงินเดือนพนักงานทุกคน ๆละ 1,000 บาท Update Employee Set salary = salary+1000;
การแก้ไขข้อมูลที่มีอยู่ (Update) ตัวอย่าง ต้องการปรับเงินเดือนพนักงานชื่อ “Somchai” เพิ่มขึ้นอีก 2000 บาท Update employee Set salary = salary+2000 Where ename = “Somchai”;
การลบข้อมูลที่มีอยู่ (Delete) Delete from <table Name> Where <Condition>; รูปแบบ ตัวอย่าง นพนักงานชื่อ “Wilai”ลาออกจากบริษัท ให้ลบข้อมูลของ “wilai” ออกจากเทเบิล employee Delete from employee Where ename = “Wilai”;
การเรียกดูข้อมูล การเรียกดูข้อมูลทั้งตาราง รูปแบบ SELECT * FROM <table name>; การเรียกดูข้อมูลจากตารางสามารถทำได้หลายรูปแบบทั้งที่มีเงื่อนไขหรือไม่มีเงื่อนไข หรือแม้แต่ดูข้อมูลจากหลายตาราง โดยคำสั่งที่ใช้ในการเรียกดูข้อมูล คือ คำสั่ง SELECT • การเรียกดูข้อมูลทั้งตาราง จะใช้เครื่องหมาย * • เพื่อแทนการเรียกดูจากทุกคอลัมน์ของตารางหนึ่ง ๆ
ตัวอย่าง ให้เรียกดูข้อมูลทั้งหมดของตาราง EMPLOYEE • คำสั่งที่ใช้คือ SELECT * FROM Employee; ผลลัพธ์ที่ได้คือ ข้อมูลทั้งหมดของตาราง Employee
การเรียกดูข้อมูลเพียงบางคอลัมน์การเรียกดูข้อมูลเพียงบางคอลัมน์ SELECT <column 1, column 2, ….> FROM <table name>; รูปแบบ ตัวอย่างที่ 1 ให้เรียกดูข้อมูลรหัสพนักงาน ชื่อ และเงินเดือนของพนักงาน การเรียกดูข้อมูลเพียงบางคอลัมน์ จำเป็นต้องระบุชื่อคอลัมน์ให้ถูกต้องตามที่ระบุไว้ในโครงสร้าง หากเรียกดูมากกว่าหนึ่งคอลัมน์ จะต้องมีเครื่องหมาย , คั่นระหว่างคอลัมน์ SELECT Empnum, Emname, Salary FROM Employee;
ตัวอย่างที่ 2 ให้เรียกดูข้อมูล ชื่อ วันที่เริ่มงาน และเงินเดือนของพนักงาน คำสั่งที่ใช้คือ SELECT Ename, Salary,Position FROM Employee; ผลลัพธ์ที่ได้คือ
การเรียกดูโดยไม่ให้แสดงข้อมูลซ้ำกันการเรียกดูโดยไม่ให้แสดงข้อมูลซ้ำกัน เมื่อต้องการดูข้อมูลจากตารางโดยไม่ให้แสดงข้อมูลที่ซ้ำซ้อนออกมา จะใช้คำว่า DISTINCT กำกับ หลังคำว่า SELECT รูปแบบ SELECT DISTINCT<column Name> FROM <table name>; ตัวอย่างที่ 1 ให้เรียกดูข้อมูลรหัสแผนก และตำแหน่งงานของพนักงานที่ไม่ซ้ำกัน SELECT DISTINCT Depno, Position FROM Employee; คำสั่งที่ใช้คือ
นิพจน์ทางคณิตศาสตร์ ตัวอย่างที่ 1 ต้องการดูข้อมูลเงินเดือนต่อปีของพนักงาน คำสั่งที่ใช้คือ SELECT Empname, Salary*12 FROM Employee;
ตัวอย่างที่ 2 ต้องการดูข้อมูลรหัสพนักงาน ชื่อ เงินเดือนใหม่ต่อปี โดยที่เงินเดือนใหม่ของพนักงานทุกคน จะปรับขึ้นเงินเดือนจากเดิมอีกคนละ 10 % คำสั่งที่ใช้คือ SELECTEid, Ename, (Salary*1.1)*12 As New Salary FROM Employee; Select e eid, Ename, (Salary+(salary*.10))*12 As New salary From Employee;
การเรียกดูโดยการจัดเรียงข้อมูลการเรียกดูโดยการจัดเรียงข้อมูล ข้อมูลที่ถูกเรียกจะจัดเรียงตามคอลัมน์ที่ต้องการ เช่น ให้เรียงชื่อตามตัวอักษร หรือให้เรียงข้อมูลตามเงินเดือน เป็นต้น รูปแบบ SELECT <column 1, ….> FROM <table name> ORDER BY <column ..>[[ASC][DESC]]; ORDER BY คือการสั่งให้จัดเรียงผลลัพธ์ตามคอลัมน์ที่ระบุต่อท้าย ORDER BY เรียงจากมากมาน้อยให้ระบุคำว่า DESC แต่ถ้าเรียงน้อยไปหามากไม่จำเป็นต้องระบุ ASC
ตัวอย่างที่ 1 ให้แสดงชื่อ ตำแหน่ง และวันที่เริ่มทำงาน โดยให้เรียงตาม วันที่เริ่มทำงานครั้งล่าสุด คำสั่งที่ใช้คือ SELECT Empname, Position, Hiredate FROM Employee ORDER BY Hiredate DESC;
ตัวอย่างที่ 2 ให้แสดงชื่อ แสดงเงินเดือน ของพนักงานโดยเรียงจาก เงินเดือนน้อยไปหามาก คำสั่งที่ใช้คือ SELECT Empname, Salary FROM Employee ORDER BY Salary;
การสอบถามข้อมูลแบบมีเงื่อนไขSelect …….where รูปแบบSelect <Column Name> From <Table Name> Where <condition>;
ตัวดำเนินการเชิงเปรียบเทียบComparison Operators
ตัวอย่าง แสดงข้อมูลทั้งหมดของลูกค้าเฉพาะที่อาศัยอยู่ใน “Bangkok” Select * From customer where address = “Bangkok”;
การเลือกข้อมูลโดยระบุหลายเงื่อนไขการเลือกข้อมูลโดยระบุหลายเงื่อนไข • การสอบถามข้อมูลจากการเชื่อมเงื่อนไขหลายเงื่อนไขด้วย AND • ตัวอย่าง แสดงข้อมูลลูกค้าที่อาศัยอยู่ใน “Bangkok” และมีวงเงินมากกว่า500,000 บาท Select cid,cname,address, credit_lim From customer Where address= “Bangkok” and credit_lim>500000 ;
การเลือกข้อมูลโดยระบุหลายเงื่อนไขการเลือกข้อมูลโดยระบุหลายเงื่อนไข • การสอบถามข้อมูลจากการเชื่อมเงื่อนไขหลายเงื่อนไขด้วย OR • ตัวอย่าง แสดงข้อมูลลูกค้าที่อาศัยอยู่ใน “Bangkok” หรือ มีวงเงินมากกว่า500,000 บาท Select cid,cname,address, credit_lim From customer Where address= “Bangkok” OR credit_lim>500000 ;
การสอบถามข้อมูลด้วยการใช้ Not กับเงื่อนไข • ตัวอย่าง แสดงข้อมูลลูกค้าที่ไม่ได้อยู่ใน “Bangkok” Select cname, address from customer where address <> “Bangkok”; Select cname, address from customer where not address = “Bangkok”;
เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย IN • Select <column name> • From <Table name> • Where <colimn name> [NOT] in <data set>;
เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย IN , NOT IN • ตัวอย่าง แสดงข้อมูลลูกค้าที่อยู่ใน “Bangkok”, “Rayong”, “TRAT” Select cname, address from customer where address in (“Bangkok”, “Rayong”, “TRAT”); • ตัวอย่าง แสดงข้อมูลลูกค้าที่ไม่ได้อยู่ใน “Bangkok”, “Rayong”, “TRAT” Select cname, address from customer where address not in (“Bangkok”, “Rayong”, “TRAT”);
เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย between…And….. • Select <column name> • From <Table name> • Where <colimn name> [NOT] Between <value-1> and <value-2>;
ตัวอย่าง แสดงข้อมูลพนักงานที่มีเงินเดือนระหว่าง 10000 – 50000 บาท เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย between…And….. Select ename, salary from employee where salary between 10000 and 50000;
เลือกข้อมูลที่ตรงตามชุดข้อมูลด้วย Like • ตัวอย่าง แสดงข้อมูลพนักงานที่มีชื่อขึ้นต้นด้วย “S” Select ename, salary from employee where ename like “s*”;
แบบฝึกหัด • ให้แสดงข้อมูล ชื่อ เงินเดือน และตำแหน่งของพนักงาน • ให้แสดงชื่อแผนก และสถานที่ของแผนก โดยเรียงตามชื่อแผนก • ให้แสดงข้อมูลรายละเอียดทั้งหมดของตาราง Customer • แสดงข้อมูลพนักงานที่มีเงินเดือนมากกว่า 40,000 บาท • แสดงข้อมูลลูกค้าเฉพาะที่อยู่จังหวัดเชียงใหม่และ มียอดคงเหลือเท่ากับศูนย์บาท • แสดงชื่อลูกค้าที่ชื่อขึ้นต้นด้วย “P” • แสดงข้อมูลลูกค้าเฉพาะที่มียอดวงเงินสินเชื่อตั้งแต่ 200,000 บาท โดยเรียงลำดับตามวงเงินสินเชื่อจากน้อยไปมาก