คำสั่ง SQL เบื้องต้น by natsu
ก่อนอื่นต้องบอกเลยครับว่ามันไม่ได้ดีมากนักสำหรับหน้าเวปนี้เพราะผมอ่านหนังสือและสรุปอย่างคร่าวๆ แล้วรูปแบบมันอาจจะเพี้ยนๆ เพราะผมเขียนใน PAGE แล้วเอา COPY and PASTE ลงเล้ย แบบไม่แก้ไขอันใด tab มั่วไปหมด ถ้าผิดพลาดประการใดต้องขออภัยด้วยครับ
ภาษา SQL นั้นไม่เป็น case sensitive (ตัวเล็ก ตัวใหญ่มีค่าเท่ากัน) และในแต่ละคำสั่งจะถูกปิดด้วย ; (semi-colon)
ภาษา SQL นั้นไม่เป็น case sensitive (ตัวเล็ก ตัวใหญ่มีค่าเท่ากัน) และในแต่ละคำสั่งจะถูกปิดด้วย ; (semi-colon)
(วิธีการลง SQL ใน Window7 : http://natsusencho.blogspot.com/2012/07/mysql-window7.html)
มาเริ่มกันเลย
การเข้าใช้ให้เราเปิด cmd ขึ้นมาและ
$ mysql -u root -p
จากนั้นใส่ password ลงไป
จะเข้าสู่การใช้
mysql > (เราจะพิมพ์คำสั่งต่างๆลงไป)
mysql > (เราจะพิมพ์คำสั่งต่างๆลงไป)
ถ้าต้องการออกใช้
mysql > quit
mysql > show databases; แสดง databases ทั้งหมดที่เราสร้างขึ้น
mysql > use <ชื่อ database> เป็นการเข้าใช้ database นั้นๆ
mysql > SELECT database(); ดู database ที่เรากำลังใช้อยู่
mysql > show tables; แสดงตารางทั้งหมดที่เราสร้างขึ้นใน database ที่ use
สร้าง DATABASE
mysql > create database <ชื่อdatabase>;
เช่น create database world;
สร้าง table
mysql > create table <ชื่อtable> (<ชื่อข้อมูล> <ชนิดข้อมูล>, ... );
เช่น create table human (name VARCHAR(20), birth DATE, sex CHAR(1));
ชนิดข้อมูล เช่น
VARCHAR(n) - ข้อมูลชนิด string เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน
CHAR(n) - ข้อมูลชนิด string เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน
INT - จำนวนเต็ม
DATE - ข้อมูลชนิดพิเศษของ SQL ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD
ดูชื่อและชนิดข้อมูลของแต่ละตาราง
mysql > describe <ชื่อtable>;
การใส่ข้อมูลลงไปใน table
1. ใช้คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้ tab แบบนี้จะมีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน
mysql > load data local infile ‘natsu.txt’ into table pet;
2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’);
3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น
ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด
3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น
ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด
---- file natsu.sql ----
CREATE TABLE IF NOT EXISTS human (
name VARCHAR(20),
birth DATE,
sex CHAR(1) );
INSERT INTO human VALUES
( 'NatsuSencho', '1992-03-25', 'M'),
( 'Slime', '1999-03-03', NULL ),
( ‘HeyFemale’ , ‘1993-12-25’ , ‘F’);
----- file natsu.sql -----
หลังจากสร้างเสร็จแล้วก้ลองใช้คำสั่ง
mysql > source natsu.sql;
ก็จะได้ตาราง world หน้าที่มีข้อมูล 3 ตัว
create table IF NOT EXISTS human
คำว่า IF NOT EXISTS หมายถึงการสร้าง table นี้ถ้ายังไม่มี table นี้ ถ้ามีแล้วก็ไม่ต้องสร้าง
มีสร้างก็ต้องมีลบ การลบ table ใช้คำสั่ง
mysql > DELETE FROM <ชื่อtable>;
หลังจากที่สร้างเป็นแล้วต้องสามารถแก้ไขข้อมูลได้
mysql > UPDATE <ชื่อtable>
SET <ชื่อข้อมูล> = <ข้อมูลใหม่>
WHERE <เงื่อนไขอื่นๆ>;
เช่น UPDATE human SET name = ‘HeyGirl’ WHERE name = ‘HeyFemale’;
การสืบค้นข้อมูล หรือการดูข้อมูล
SELECT <สิ่งที่ต้องการ>
FROM <ชื่อtable>
WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย
SELECT name
FROM human
WHERE sex = ‘M’;
ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]
SELECT *
FROM human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ มาช่วยได้เช่น
AND และ
OR หรือ
OR หรือ
< น้อยกว่า
> มากกว่า
> มากกว่า
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
<> ไม่เท่ากับ
UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
INTERSECT ข้อมูลที่ซ้ำกัน
DISTINCT คือการตัดตัวที่ซ้ำกันออก
เช่น SELECT DISTINCT sex
FROM human;
ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล
เรียงลำดับจากมากไปน้อย (descending order)
เช่น SELECT *
FROM human
ORDER BY name;
เรียงลำดับจากน้อยไปมาก (descending order)
เช่น SELECT *
FROM human
ORDER BY name DESC;
ถ้าต้องการมากกว่าอันนึงก็ย่อมได้
เช่น SELECT *
FROM human
ORDER BY name , sex DESC ;
แบบนี้จะจัดตามชื่อแบบ ascending ก่อนแล้วจะมาจัดเพศแบบ descending ทีหลัง
การคำนวณเกี่ยวกับวันที่
ตัวแปร DATE เป็น string ที่มีการเก็บเป็นรูปแบบ YYYY-MM-DD ตัวแปรชนิด DATE สามารถนำมาเทียบค่ากันได้ในระดับ ASCII
CURDATE() จะเป็น function ที่ส่งค่าออกมาเป็นข้อมูลรูปแบบ DATE (YYYY-MM-DD)
YEAR(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของปี (YYYY)
MONTH(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของเดือน (MM)
DAY(<ข้อมูลชนิดdate>) ส่งค่าออกมาเป็นข้อมูลรูปแบบของวัน (DD)
RIGHT(<ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางขวา
LEFT(<ข้อมูลชนิดstring>, <จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก string นั้นๆ โดยเริ่มนับจากทางซ้าย
ตัวอย่าง
ex1. ต้องการปีของวันปัจจุบัน YEAR( CURDATE() )
ex2. ต้องการเดือนและวันของปัจจุบัน RIGHT( CURDATE(),5 )
[5 ในที่นี้คือนับจากทางขวามือมา YYYY-MM-DD ก็จะได้ MM-DD มา]
การใช้ตัวแปร NULL ในเงื่อนไข
ใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีิวิตที่ไม่มีเพศ
SELECT *
FROM human
WHERE sex IS NOT NULL;
การตั้งชื่อเป็นชื่อที่เราต้องการ
หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
SELECT name AS ‘NAME-SURNAME’
FROM human;
COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม
COUNT ใช้ในการนับจำนวนของตารางต่างๆ จะใช้คู่กับ GROUP BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น
SELECT <อื่นๆ> COUNT(*)
FROM <ชื่อtable>
WHERE <เงื่อนไข>
GROUP BY <จัดกลุ่มโดยใช้อะไร>
เช่นต้องการนับจำนวนคนในแต่ละเพศ
SELECT sex , COUNT(*)
FROM human
GROUP BY sex;
SET การกำหนดตัวแปร
SET @<ชื่อตัวแปร> = <ค่า>
เช่น SET @A1 = ‘Natsu Sencho’;
SET @A2 = ‘1999-09-09’;
การใช้คำสั่ง JOIN
การ JOIN คือการนำตารางที่มีความสัมพันธ์ของข้อมูลในแต่ละฟิลมาเชื่อมโยงกัน
การ JOIN มี 2 แบบคือ
1. INNER JOIN
2. OUTER JOIN |--- LEFT JOIN
|--- RIGHT JOIN
INNER JOIN
คือการ JOIN โดยไม่สนใจค่า NULL จะดูเพียงตัวที่เหมือนกันเท่านั้น
สมมติมีตาราง 2 อันชื่อ Ltable และ Rtable นำมา JOIN กันโดยมีข้อมูลที่ซ้ำกันคือ id
-- JOIN โดยใช้ ON
SELECT *
FROM Ltable INNER JOIN Rtable ON Ltable.id = Rtable.id;
-- หรือ JOIN โดยใช้ USING
SELECT *
FROM Ltable INNER JOIN Rtable USING (id);
กรณีพิเศษที่ตัวแปรหรือชื่อ Column ซ้ำกันก็สามาใช้ NATURAL JOIN ได้ อย่างในที่นี้เรารุ้ว่า id นั้นซ้ำกันเราก็ไม่ต้องใส่เงื่อนไขใดๆ แต่ใช้ Natural Join เข้ามาช่วยโดย
SELECT *
FROM Ltable NATURAL JOIN Rtable;
OUTER JOIN
- LEFT JOIN
คือการ JOIN โดยใช้ตัวทางซ้ายเป็นหลักคือ จะแสดงตัวทางซ้ายทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable LEFT JOIN Rtable ON Ltable.id = Rtable.id;
- RIGHT JOIN
คือการ JOIN โดยใช้ตัวทางขวาเป็นหลักคือ จะแสดงตัวทางขวาทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable RIGHT JOIN Rtable ON Ltable.id = Rtable.id;
นอกจากวิธีการ JOIN ยังมีวิธีที่เรียกว่า Cartesian Product ซึ่งไม่ได้อทิบายไว้ในทีนี้
ถ้ามีโอกาศจะนั่งทำตัวอย่างให้ดูให้เห็นได้ชัดกว่านี้นะครับ แต่ผมสรุปแบบคร่าวๆ ให้พอดู
รวมคำศัพท์คำสั่งที่เจอเพจนี้
CREATE สร้างdatabase, table
INSERT ใส่ข้อมูล
UPDATE อัพเดตข้อมูล
SELECT ต้องการจะดูอะไรบ้าง
FROM จากที่ไหน
WHERE เงื่อนไขอย่างไร
COUNT(*) นับจำนวนของฟิลข้อมูล
GROUP BY จัดกลุ่มข้อมูล
ORDER BY เรียงลำดับข้อมูลโดย
JOIN เชื่อมตาราง
DISTINCT ตัดตัวซ้ำ
AS ใช้คำใหม่ให้กระทัดรัดขึ้น
SET กำหนดตัวแปร
CURDATE() วันที่ปัจจุบัน
YEAR() ปี
MONTH() เดือน
DAY() วัน
RIGHT() ตัดคำจากทางขวา
LEFT() ตัดคำจากทางซ้าย
* ทั้งหมด
ส่วนคำสั่ง SQL
|
หน้าที่
|
จำเป็นไหม
|
SELECT
|
แสดงเขตข้อมูลที่มีข้อมูลที่สนใจ
|
จำเป็น
|
FROM
|
แสดงตารางที่มีเขตข้อมูลที่ปรากฏอยู่ในส่วนคำสั่ง SELECT
|
จำเป็น
|
WHERE
|
ระบุเกณฑ์เขตข้อมูลที่ใช้เลือกระเบียนที่จะรวมอยู่ในผลลัพธ์
|
ไม่จำเป็น
|
ORDER BY
|
ระบุวิธีเรียงลำดับผลลัพธ์
|
ไม่จำเป็น
|
GROUP BY
|
ในคำสั่ง SQL ที่มีฟังก์ชันการรวม จะแสดงเขตข้อมูลที่ไม่ถูกสรุปรวมอยู่ในส่วนคำสั่ง SELECT
|
เฉพาะเมื่อมีเขตข้อมูลเหล่านี้เท่านั้น
|
HAVING
|
ในคำสั่ง SQL ที่มีฟังก์ชันการรวม จะระบุเกณฑ์ซึ่งใช้กับเขตข้อมูลที่ถูกสรุปรวมอยู่ในคำสั่ง SELECT
|
ไม่จำเป็น
|
แต่ละส่วนคำสั่ง SQL จะประกอบด้วยคำต่างๆ ต่อไปนี้คือรายการคำที่ใช้โดยทั่วไปใน SQL จำนวนหนึ่ง
การกำหนดส่วนคำสั่ง SELECT เอง
การกำหนดเอง
|
ตัวอย่าง
|
ถ้าต้องการดูเฉพาะค่าที่แตกต่าง
ให้ใช้คำสำคัญ DISTINCT ในส่วนคำสั่ง SELECT ของคุณ
|
ตัวอย่างเช่น ถ้าลูกค้าของคุณมาจากสำนักงานสาขาต่างๆ หลายสาขาและบางรายมีหมายเลขโทรศัพท์เดียวกัน แล้วคุณต้องการให้หมายเลขโทรศัพท์แสดงครั้งเดียวเท่านั้น ส่วนคำสั่ง SELECT ของคุณจะเป็นแบบนี้
SELECT DISTINCT [ข้อความโทรศัพท์ลูกค้า] |
ถ้าต้องการเปลี่ยนแปลงวิธีที่ตัวระบุปรากฏอยู่ในมุมมอง Datasheet เพื่อให้สามารถอ่านได้ดียิ่งขึ้น
ให้ใช้ตัวดำเนินการ AS (คำสำคัญที่ใช้แทนการกระทำหรือปรับเปลี่ยนการกระทำ) กับนามแฝงของเขตข้อมูลในส่วนคำสั่ง SELECT ของคุณ นามแฝงของเขตข้อมูลเป็นชื่อที่คุณกำหนดให้กับเขตข้อมูลเพื่อทำให้สามารถอ่านผลลัพธ์ได้ง่ายยิ่งขึ้น
| SELECT [ข้อความโทรศัพท์ลูกค้า] AS [โทรศัพท์ลูกค้า] |
การกำหนดส่วนคำสั่ง FROM เอง
การกำหนดเอง
|
ตัวอย่าง
|
คุณสามารถใช้นามแฝงของตารางหรือชื่ออื่นๆ ที่คุณกำหนดให้กับตารางในคำสั่ง Select ได้ นามแฝงของตารางมีประโยชน์ในกรณีชื่อของชื่อตารางมีความยาว โดยเฉพาะเมื่อคุณมีหลายเขตข้อมูลที่มีชื่อเดียวกันจากตารางต่างๆ กัน
|
ถ้าต้องการเลือกข้อมูลจากสองเขตข้อมูลที่มีชื่อเดียวกันว่า ID โดยเขตข้อมูลหนึ่งมาจากตาราง ตารางลูกค้า และอีกเขตข้อมูลมาจากตาราง ตารางลำดับ ให้ใช้แบบนี้
SELECT [ตารางลูกค้า].[ID],
ใช้ตัวดำเนินการ AS เพื่อกำหนดนามแฝงของตารางในส่วนคำสั่ง FROM ดังนี้
FROM [ตารางลูกค้า] AS [C],
จากนั้นคุณสามารถใช้นามแฝงของตารางเหล่านี้ในส่วนคำสั่ง SELECT ได้ดังนี้
SELECT [C].[ID], |
ใช้การรวม เพื่อรวมระเบียนสองระเบียนจากแหล่งข้อมูลสองแหล่งให้เข้าเป็นผลลัพธ์เดียว หรือเพื่อระบุว่าจะให้รวมระเบียนจากตารางใดตารางหนึ่งหรือไม่ ถ้าไม่มีระเบียนที่สอดคล้องกันในตารางที่เกี่ยวข้อง
รวมตารางต่างๆ เพื่อให้คิวรีรวมรายการต่างๆ จากตาราง และแยกรายการต่างๆ เมื่อไม่มีระเบียนที่สอดคล้องกันในตารางอื่น
|
ส่วนคำสั่ง FROM จะเป็นแบบนี้คือ
FROM [ตารางลูกค้า] |
เกี่ยวกับการใช้การรวม
การรวมมีอยู่สองชนิด คือ การรวมภายในและการรวมภายนอก การรวมภายในใช้กันทั่วไปมากกว่าในคิวรี เมื่อคุณเรียกใช้คิวรีที่มีการรวมภายใน ผลลัพธ์จะแสดงเฉพาะรายการ ที่มีค่าร่วมกันที่อยู่ในทั้งสองตารางที่ถูกรวมเท่านั้น
การรวมภายนอกจะระบุว่าจะให้รวมเอาข้อมูลที่ไม่มีค่าร่วมกันอยู่ด้วยหรือไม่ การรวมภายนอกเป็นแบบมีทิศทาง กล่าวคือ คุณสามารถระบุได้ว่าจะให้รวมเอาระเบียนทั้งหมดจากตารางแรกที่ได้ระบุไว้ในการรวม (ที่เรียกว่า การรวมด้านซ้าย) หรือจะให้รวมเอาระเบียนทั้งหมดจากตารางที่สองในการรวม (ที่เรียกว่า การรวมด้านขวา) ด้วยหรือไม่ การรวมภายนอกมีไวยากรณ์ SQL ดังต่อไปนี้
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้การรวมในคิวรี
การกำหนดส่วนคำสั่ง WHERE เอง
ส่วนคำสั่ง WHERE มีเกณฑ์ที่ช่วยจำกัดจำนวนของรายการต่างๆ ที่จะถูกส่งกลับมาในคิวรี โปรดดูตัวอย่างของเกณฑ์คิวรีและวิธีที่เกณฑ์เหล่านี้ทำงาน
ตัวอย่างของวิธีที่คุณสามารถกำหนดส่วนคำสั่ง WHERE พื้นฐานได้เอง คือการจำกัดผลลัพธ์ของคิวรี โดยสมมุติว่าคุณต้องการค้นหาหมายเลขโทรศัพท์ของลูกค้ารายหนึ่ง และคุณจำได้เพียงนามสกุลของลูกค้ารายนี้ว่าคือ Bagel เท่านั้น ในตัวอย่างนี้ นามสุกลจะถูกเก็บอยู่ในเขตข้อมูล LastName ดังนั้นไวยากรณ์ของ SQL จะเป็นดังนี้คือ
WHERE [LastName]='Bagel'
ใช้ส่วนคำสั่ง WHERE เพื่อรวมแหล่งข้อมูลสำหรับคอลัมน์ที่มีข้อมูลที่ตรงกัน แต่มีชนิดข้อมูลที่แตกต่างกันได้ด้วยเช่นกัน ซึ่งมีประโยชน์เนื่องจากคุณไม่สามารถสร้างการรวมระหว่างเขตข้อมูลที่มีชนิดข้อมูลที่แตกต่างกันได้ ใช้เขตข้อมูลหนึ่งเป็นเกณฑ์ให้กับอีกเขตข้อมูลหนึ่ง ด้วยคำสำคัญ LIKE ตัวอย่างเช่น ถ้าคุณต้องการที่จะใช้ข้อมูลจากตาราง สินทรัพย์ และตาราง พนักงาน กรณีเฉพาะเมื่อชนิดของสินทรัพย์ในเขตข้อมูลชนิดสินทรัพย์ของตาราง Assets มีเลข 3 อยู่ในเขตข้อมูล Quantity ของตาราง พนักงาน ส่วนคำสั่ง WHERE ของคุณจะเป็นแบบนี้
WHERE field1 LIKE field2
สิ่งสำคัญ คุณไม่สามารถระบุเกณฑ์ให้กับเขตข้อมูลที่ใช้กับฟังก์ชันการรวมในส่วนคำสั่ง WHERE ได้ แต่คุณสามารถใช้ส่วนคำสั่ง HAVING แทนเพื่อระบุเกณฑ์สำหรับเขตข้อมูลที่ถูกรวมได้
การกำหนดเองด้วยตัวดำเนินการ UNION
ใช้ตัวดำเนินการ UNION เมื่อคุณต้องการดูมุมมองที่ถูกรวมเข้าด้วยกันของผลลัพธ์จากคิวรีแบบใช้เลือกข้อมูลหลายๆ แบบที่คล้ายกัน ตัวอย่างเช่น ถ้าฐานข้อมูลของคุณมีตาราง ผลิตภัณฑ์ และตาราง บริการ และทั้งสองตารางนี้ต่างมีเขตข้อมูลอยู่สามเขตข้อมูลเหมือนกัน คือ ข้อเสนอหรือผลิตภัณฑ์หรือบริการพิเศษ ราคา การรับประกันหรือการรับรอง แม้ว่าตาราง ผลิตภัณฑ์ จะมีข้อมูลการรับประกันอยู่ และตาราง บริการ จะมีข้อมูลการรับรองอยู่ แต่ข้อมูลพื้นฐานจะเหมือนกัน คุณสามารถใช้คิวรีแบบร่วมเพื่อรวมเขตข้อมูลสามเขตข้อมูลจากทั้งสองตารางนี้เข้าด้วยกันได้ดังนี้
SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;
เมื่อคุณเรียกใช้คิวรีนี้ ข้อมูลจากแต่ละชุดของเขตข้อมูลที่เกี่ยวข้องกันจะถูกรวมเข้าด้วยกันเป็นเขตข้อมูลผลลัพธ์เดียว ถ้าต้องการรวมเอาแถวที่ซ้ำกันใดๆ เข้ามาอยู่ในผลลัพธ์ด้วย ให้ใช้ตัวดำเนินการ ALL
หมายเหตุ คำสั่ง SELECT จะต้องมีจำนวนเขตข้อมูลผลลัพธ์เท่ากัน อยู่ในลำดับเดียวกัน และมีชนิดข้อมูลเหมือนกันหรือเข้ากันได้ ตามวัตถุประสงค์ของคิวรีแบบร่วม ชนิดข้อมูลตัวเลข (Number) และข้อความ (Text) จะเป็นชนิดข้อมูลที่เข้ากันได้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคิวรีแบบร่วม โปรดดูที่ การใช้คิวรีแบบร่วมเพื่อดูผลลัพธ์แบบรวมจากคิวรีหลายแบบ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น