ตัวอย่างคำสั่ง
SQL
คำสั่ง
Select
คำสั่ง
Select
ใช้เป็นประโยคคำสั่งในการส่งออกเรคคอร์ด
ตามเกณฑ์ในการเลือก
ไวยากรณ์
SELECT fieldname1, fieldname2,...
FROM tablename1, tablename2,...
[Where Condition]
[Group By]
[Having]
[Order By];
[ ] – ตัวเลือก
FROM tablename1, tablename2,...
[Where Condition]
[Group By]
[Having]
[Order By];
[ ] – ตัวเลือก
แสดงทุกฟิลด์และทุกเรคคอร์ด
ใน table
เดียว เช่นการข้อทั้งหมดใน
table
ชื่อ publishers
SELECT * FROM Publishers ;
SELECT * FROM Publishers ;
แสดงบางฟิลด์
ซึ่งชื่อฟิลด์ ที่มีเครื่องหมายพิเศษ
หรือมีการเว้นวรรคให้อยู่ในวงเว็บก้ามปู
[ ]
SELECT PubID, [Company Name], Address FROM Publishers;
SELECT PubID, [Company Name], Address FROM Publishers;
แสดงฟิลด์ที่เป็น
expression
และตั้งชื่อใหม่
(ให้ใช้
As)
SELECT Author, 2000 - [Year Born] As Age FROM Authors;
SELECT Author, 2000 - [Year Born] As Age FROM Authors;
การใช้ฟังก์ชัน
aggregate
SELECT COUNT ([Year Born]) FROM Authors;
SELECT COUNT ([Year Born]) FROM Authors;
การเลือกเฉพาะเรคคอร์ด
ที่ต้องการด้วย
WHERE
clause
SELECT Name, City FROM Publishers WHERE State = ‘CA’;
SELECT Name, City FROM Publishers WHERE State = ‘CA’;
การเลือกเฉพาะเรคคอร์ดด้วย
WHERE
Clause หลายเงื่อนไขต้องเชื่อมด้วย
AND
หรือ OR เช่น state
เป็น CA และ Name
ขึ้นต้นด้วย M
SELECT * FROM Publishers WHERE State = ‘CA’ AND name LIKE ‘m%’;
SELECT * FROM Publishers WHERE State = ‘CA’ AND name LIKE ‘m%’;
การเรียงและจัดกลุ่ม
การเรียงใช้
ORDER
BY clause
SELECT * FROM Publishers ORDER BY [Company Name] ;
SELECT * FROM Publishers ORDER BY [Company Name] ;
การเรียงจากน้อยไปมากให้ใช้คีย์เวิร์ด
DESC
ต่อท้ายฟิลด์ต้องการเรียงจากน้อยไปมาก
SELECT * FROM Publishers ORDER BY State, City DESC;
SELECT * FROM Publishers ORDER BY State, City DESC;
การจัดกลุ่มใช้
GROUP
BY Clause
SELECT [Year Published], Count (*) As Title In Year FROM Titles
GROUP BY [Year Published];
SELECT [Year Published], Count (*) As Title In Year FROM Titles
GROUP BY [Year Published];
ให้แสดงจำนวนหนังสือใน
10
ปีสุดท้าย
SELECT TOP 10 [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] ORDER BY [Year Published] DESC;
SELECT TOP 10 [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] ORDER BY [Year Published] DESC;
การคัดเลือกด้วยเขื่อนไขของ
HAVING
Clause เช่น
แสดงเฉพาะที่มีจำนวนหนังสือมากกว่า
50
SELECT [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] HAVING COUNT ((*) >50);
SELECT [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] HAVING COUNT ((*) >50);
คิวรี่ย่อย
คิวรี่ย่อย
เป็นการใช้ประโยคคำสั่ง
Select
ภายในประโยคคำสั่ง
Select
อีกคำสั่งสำหรับการค้นหาที่ซับซ้อน
SELECT * FROM Title WHERE Pub ID =
(SELECT pubID FROM Publishers WHERE Name = ‘MACMILLIAN’);
SELECT * FROM Title WHERE Pub ID =
(SELECT pubID FROM Publishers WHERE Name = ‘MACMILLIAN’);
JOIN
JOIN ใช้สำหรับการดึงข้อมูลจาก 2
table ที่สัมพันธ์กับผ่านฟิลด์ร่วม
ถ้าแถวของ table
แรกแสดงตามฟิลด์ของ
table
ที่สอง ให้ใช้ ON
clause ในคำสั่ง
JOIN
SELECT Title.Title, Titles. [Year Published], Publishers.Name FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publishers.PubID
SELECT Title.Title, Titles. [Year Published], Publishers.Name FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publishers.PubID
การใช้ไวยากรณ์
tablename.fieldname
เช่น Titles.PubID
เมื่อชื่อฟิลด์มีอยู่ใน
2
table ที่เชื่อมกัน
นอกจากมี
LEFT
JOIN สำหรับการแสดงเรคคอร์ดของ
table
แรกทั้งหมดถึงแม้จะมีเรคคอร์ดของ
table
แรกมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ
table
ที่สอง
SELECT Titles.Title, Titles.[Year Published], Publishers.Name FROM Titles
LEFT JOIN Publishers ON Titles.PubID = Publishers.PubID;
SELECT Titles.Title, Titles.[Year Published], Publishers.Name FROM Titles
LEFT JOIN Publishers ON Titles.PubID = Publishers.PubID;
RIGHT JOIN สำหรับการแสดงเรคคอร์ดของ table
ที่สองทั้งหมด ถึงแม้ว่าจะมีเรคคอร์ดของ
table
ที่สองมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ
table
แรก
UNION
การนำ
table
2 ต่อกัน
สามารถทำได้โดยใช้คีย์เวิร์ด
UNION
SELECT Name, Address, City FROM Customers
UNION SELECT CompanyName, Address, City FROM Suppliers
SELECT Name, Address, City FROM Customers
UNION SELECT CompanyName, Address, City FROM Suppliers
คำสั่ง
Insert
Into
คำสั่ง
INERT
INTO ใช้ในประโยคคำสั่งสำหรับการเพิ่มเรคคอร์ดใหม่
ไวยากรณ์
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก
หมายเหตุจำนวน
value
ต้องเท่ากับ fieldname
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);
คำสั่ง
Update
คำสั่ง
UPDATE
ใช้ในประโยคคำสั่งสำหรับการปรับปรุงค่าในเรคคอร์ด
ไวยากรณ์
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE Authors SET [Year Born] = 1961 WHERE Author =
‘Frank Whale’;
ที่มา:http://www.widebase.net/database/sql/sqlquery/sqlquery12.shtml