Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เพิ่มคอลัมน์ชั่วคราวใน MySQL โดยที่ค่าขึ้นอยู่กับคอลัมน์อื่น


คุณสามารถใช้คำสั่ง CASE สำหรับสิ่งนี้และกำหนดเงื่อนไขเพื่อรับผลลัพธ์ในคอลัมน์ชั่วคราว

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( EmployeeId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, EmployeeName varchar(20), EmployeeSalary int, EmployeeExperience int );Query OK, 0 แถวได้รับผลกระทบ (0.64 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงใน DemoTable(EmployeeName,EmployeeSalary,EmployeeExperience) values('Larry',4500,5);Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงใน DemoTable(EmployeeName,EmployeeSalary,EmployeeExperience) ค่า ( 'Mike',130000,8);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable (EmployeeName,EmployeeSalary,EmployeeExperience) ('Sam',11000,5); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15) sec)mysql> แทรกลงใน DemoTable(EmployeeName,EmployeeSalary,EmployeeExperience) values('Carol',140000,8);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงบันทึกจากตารางโดยใช้คำสั่งเลือก -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+----------------+- --------------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน | ประสบการณ์พนักงาน |+--------------------+--------------+----------------+-- -------------------+| 1 | แลร์รี่ | 4500 | 5 || 2 | ไมค์ | 130000 | 8 || 3 | แซม | 11000 | 5 || 4 | แครอล | 140000 | 8 |+-----------+--------------+----------------+-- ------------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มคอลัมน์ชั่วคราวใน MySQL โดยที่ค่าขึ้นอยู่กับคอลัมน์อื่น คอลัมน์ชั่วคราวคือ NewSalary -

mysql> เลือก EmployeeId,EmployeeName,EmployeeSalary,EmployeeExperience, case when EmployeeExperience=5 then EmployeeSalary+10000 when EmployeeExperience=8 then EmployeeSalary+20000else null end as NewSalaryfrom DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+----------------+- -------------------------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน | ประสบการณ์ของพนักงาน | ใหม่เงินเดือน |+------------+--------------+----------------+-- ---------------------------------------+| 1 | แลร์รี่ | 4500 | 5 | 14500 || 2 | ไมค์ | 130000 | 8 | 150000 || 3 | แซม | 11000 | 5 | 21000 || 4 | แครอล | 140000 | 8 | 160000 |+-----------+--------------+----------------+-- ---------------------------------------+4 แถวในชุด (0.00 วินาที)