Skip to main content

ACS Workshop (SQL)

Question 1 (Create,Insert)

1.1 CREATE TABLE และ กำหนด id เป็น primary key

CREATE TABLE employees (
  id INT,
  name TEXT,
  salary REAL,
  job TEXT,
  --INPUT CODE HERE 
);

1.2 ใช้คำสั่ง INSERT data เพื่อใส่ข้อมูลเข้าไปใน table employees และ ใส่ข้อมูลของตัวเองลงไปตามตัวอย่าง

โดยสามารถดาวน์โหลดข้อมูลได้จาก Data Question 1

INSERT INTO employees (id, name, salary, job) VALUES
  (1, 'Lalita Suriya', 25000, 'Developer'),
  (2, 'Somsak Somporn', 42500, 'UX/UI Designer'),
  (3, 'Siriporn Amporn', 35000, 'Developer'),
  (4, 'alita Somsak', 50000, 'UX/UI Designer'),
  (5, 'Preecha Kamon', 55000, 'Frontend Developer'),
  (6, 'Preecha Kanya', 27500, 'Backend Developer'),
  (7, 'Somporn Thaksin', 30000, 'UX/UI Designer'),
  (8, 'Sunan Intira', 20000, 'Frontend Developer'),
  (9, 'Kanda Ratree', 23500, 'Developer'),
  (10, 'Klahan Suchart', 20000, 'Fullstack Developer'),
  (11, 'Sukhon Intira', 60000, 'Data scientist'),
  (12, 'Wattana Somboon', 30000, 'Data analytics'),
  (13, 'Lalita Thaksin', 55000, 'DevOps'),
  (14, 'Somchai Malai', 43500, 'Data analytics'),
  (15, 'Mali Amporn', 60000, 'Developer'),
  (16, 'Pranee Porntip', 25000, 'DevOps'),
  (17, ' Somporn Prasert', 35000, 'Web Developer'),
  (18, 'Mongkut Arum', 20000, 'Frontend Developer'),
  (19, 'Pranee Wattana', 45000, 'Backend Developer');
  
  INSERT INTO employees (id, name, salary, job) VALUES
  --ใส่ข้อมูลของตัวเอง ex. (1, 'Teacher', 25000, 'Student')

Question 2 (UPDATE)

ให้ทำการ อัปเดตข้อมูล job จาก DevOps เป็น DevOps Engineer

UPDATE  ____  ___  job = 'DevOps Engineer'  ____ job = 'DevOps';
SELECT * FROM _____ WHERE ____ = ____;

OUTPUT:

image.png


Question 3 (Delete)

จงลบข้อมูล job ทีมีค่าเท่ากับ 'UX/UI Designer'

DELETE FROM ___ WHERE ___ = "UX/UI Designer";
SELECT * FROM ___ where ___ = "UX/UI Designer";

OUTPUT:

image.png


Question  4 (Select)

                 Question 4.1 (Where)

ให้แสดงข้อมูลออกมาตามเงื่อนไขดังนี้

SELECT * FROM ____ ____ ____ > 50000 or ____ = 'Developer' order by job ;

OUTPUT:

image.png

                 Question 4.2.1 (Order by)

จงแสดงข้อมูลจากน้อยไปมากโดยใช้ salary เป็นเกณฑ์  Hint: ASC

SELECT * FROM ____ ORDER BY ___ ___;

OUTPUT:

image.png

จงแสดงข้อมูลจากมากไปน้อยโดยใช้ salary เป็นเกณฑ์  Hint: DESC

SELECT * FROM ____ ORDER BY ___ ___;

OUTPUT:

image.png
                 Question 4.3 (Like)

ให้แสดงชื่อที่ขึ้นต้นด้วยตัว S%

จงแสดงข้อมูล ทั้งหมดที่มี name ขึ้นต้นด้วยตัว S  Hint: S% 

SELECT * FROM ___ WHERE ___ LIKE ___ ; 

OUTPUT:

image.png

                 Question 4.4 (Operator)

ให้แสดงข้อมูลทั้งหมด โดยมีเงื่อนไขว่าเป็นคนที่ salary > 30000 และ job = 'Developer'

SELECT * FROM ____ where ____ > 30000 ____ ____ = 'Developer';

image.png

Question 5 (alter)

1.import Data from Data Question 5


2.เพิ่ม column email

ALTER TABLE ____ add ___  ___;

3.update email โดยให้ขึ้นต้นว่า id + @kmutt.ac.th

UPDATE ___  SET ___ =  ___ || '@kmutt.ac.th';

4.จงแสดงข้อมูลทั้งหมด

SELECT ___ FROM ___ ;

Question 6 (Specialllllllll)

Data Question 6

1.create table from data

2. กำหนด id เป็น primary key 

3. ใช้คำสั่ง select เพื่อแสดงคนที่มีเงินเดือนมากกว่า 100,000 และน้อยกว่า 150,000 เรียงลำดับจากน้อยไปมาก

4. insert ข้อมูลของตัวเองเข้าไปในตาราง 

5.เพิ่ม column บริษัทที่อยากทำในข้อมูลของตัวเอง 

6. เพิ่มข้อมูลใน column บริษัทที่อยากทำในข้อมูลของตัวเอง และของเพื่อนอีก 2 คน และ delete ข้อมูลคนที่เงินเดือนมากที่สุด

7.เปลี่ยนชื่อ table เป็น job_table_by_ชื่อตัวเอง

8.แสดงข้อมูลคนที่มีเพศขึ้นต้นด้วยตัว M  และ มีเงินเดือนมากกว่า 86,000 และน้อยกว่า 130,000 โดยเรียงลำดับจาก มากไปน้อย 

9. update ข้อมูล company ตามเงื่อนไงดังนี้ 
    company 1 Microsoft   = salary > 100000 and year of experience > 10 

    company 2 Thaitech  = salary < 50000 and year of experience < 5 

    company 3 Google = company IS NULL

image.png

10. ALTER TABLE [table name] add email TEXT;

11.ให้ทำการ update email ตามชื่อบริษัท ดังนี้

     Google = @gmail.com

     Microsoft = @microsoft.com

     Thaitech = @thaitech.com

hint:  email = id || @mail.com WHERE ...

image.png

How to import file

image.png

image.png