Bài tập My SQL
1.Tạo cơ sở dữ liệu HumanResources gồm các bảng sau :a.Bảng EmployeeTên trường Mô tảEmp_Id (int, auto increment) Id Nhân viênFirst_Name (varchar 20) Tên nhân viênLast_Name (varchar 30) Họ nhân viênAge (int) Tuổi nhân viênDept_Id (int, references Department(Dept_Id )) Id Phòng banBasicSal (int) Lương cơ bảnb. Bảng Department Tên trường Mô tảDept_Id (int, auto increment) Id Phòng banName (varchar 20) Tên Phòng banDeptHeadId (int) Id Trưởng phòngc. Bảng ProjectTên trường Mô tảPro_id (int, auto increment ) Id dự ánDept_Id (int, references Department(Dept_Id )) Tên phòng làm dự ánPro_Name (varchar 50) Tên dự ánStart_Date (datetime) Ngày bắt đầuEnd_Date (datetime) Ngày kết thúc2. Tạo quan hệ và nhập dữ liệu cho các bảng, mỗi bảng 10 bản ghi3. Sử dụng join và các hàm cơ bản để thực hiện các truy vấn saua. Hiển thị tên nhân viên trong mỗi phòngb. Hiển thị tên nhân viên cho mỗi dự ánc. Tìm xem phòng nào có nhân viên hưởng lương cao nhấtd. Tìm tên các dự án nào có nhiều nhân viên thực hiện nhấte. Tìm tên các dự án nào có mức trung bình lương của các nhân viên thấp nhấtf. Hiển thị tất cả các trưởng phòng và tên phòng tương ứngg. Đếm số ngày thực thi của mỗi dự ánh.Hiển thị số tuổi trung bình của tất cả các nhân viên i. Hiển thị số tuổi trung bình của nhân viên mỗi phòngk. Ghép họ và tên mỗi nhân viên để hiển thị tên hoàn chỉnhl. Tìm xem phòng nào đã thực hiện nhiều dự án nhất m. Thống kê số ngày thực thi dự án của mỗi nhân viênn. Thống kê mức lương trung bình của các trưởng phòng---------------------------------------BÀI GIẢI------------------------------------------1.Tạo CSDL -- Database: `humanresources`-- --------------------------------------------------------CREATE TABLE `department` (`dept_id` int(11) NOT NULL default '0',`name` varchar(20) default NULL,`deptheadld` int(11) default NULL,PRIMARY KEY (`dept_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;---- Dumping data for table `department`--INSERT INTO `department` (`dept_id`, `name`, `deptheadld`) VALUES(3, 'Phong Nhan Su', 334),(2, 'Phong Kinh Doanh', 223),(1, 'Phong Giam Doc', 112),(4, 'Phong Ky Thuat', 445),(5, 'Phong Hanh Chinh', 556);-- ---------------------------------------------------------- Table structure for table `employee`CREATE TABLE `employee` (`emp_id` int(11) NOT NULL default '0',`first_name` varchar(20) default NULL,`last_name` varchar(30) default NULL,`age` int(11) default NULL,`dept_id` int(11) default NULL,`basicsal` int(11) default NULL, PRIMARY KEY (`emp_id`),KEY `dept_id` (`dept_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;---- Dumping data for table `employee`--INSERT INTO `employee` (`emp_id`, `first_name`, `last_name`, `age`, `dept_id`, `basicsal`) VALUES(1, 'Quan', 'Hoang', 23, 1, 3000000),(2, 'Anh', 'Hoang', 25, 2, 4000000),(3, 'Cuong', 'Nguyen', 20, 3, 3000000),(4, 'Huyen', 'Nguyen', 23, 4, 3500000),(5, 'Hang', 'Nguyen', 24, 5, 200000),(6, 'Khiem', 'Tran', 26, 5, 2500000),(7, 'Thao', 'Nguyen', 19, 3, 3500000),(8, 'Chinh', 'Pham', 24, 2, 4000000),(9, 'Viet', 'Le', 23, 1, 3000000),(10, 'Hai', 'Ly', 28, 4, 3000000),(11, 'Tuan ', 'NA', 27, 1, 5000000);-- ---------------------------------------------------------- Table structure for table `project`CREATE TABLE `project` (`pro_id` int(11) NOT NULL default '0',`dept_id` int(11) default NULL,`pro_name` varchar(50) default NULL,`start_date` datetime default NULL,`end_date` datetime default NULL,PRIMARY KEY (`pro_id`),KEY `dept_id` (`dept_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;---- Dumping data for table `project`--INSERT INTO `project` (`pro_id`, `dept_id`, `pro_name`, `start_date`, `end_date`) VALUES (2, 2, 'Web ban DTDD', '2008-11-21 02:28:11', '2008-11-27 02:28:11'),(1, 1, 'Quan ly ban hang', '2008-11-21 02:26:21', '2008-11-30 02:26:39'),(3, 3, 'Joomla', '2008-11-22 05:56:11', '2008-11-29 05:56:11');-----------------------------------------------------------------------------------------------------------------------a. Hiển thị tên nhân viên trong mỗi phòngselect first_name,name from employee inner join department on employee.dept_id=department.dept_id ;+-----------+------------------+| first_name | name |+-----------+------------------+| Cuong | Phong Nhan Su || Thao | Phong Nhan Su || Anh | Phong Kinh Doanh || Chinh | Phong Kinh Doanh || Quan | Phong Giam Doc || Viet | Phong Giam Doc || Tuan | Phong Giam Doc || Huyen | Phong Ky Thuat || Hai | Phong Ky Thuat || Hang | Phong Hanh Chinh || Khiem | Phong Hanh Chinh |+-----------+------------------+b. Hiển thị tên nhân viên cho mỗi dự ánselect first_name,pro_name from employee inner join project on employee.dept_id=project.dept_id;+-----------+------------------+| first_name | pro_name |+-----------+------------------+| Anh | Web ban DTDD || Chinh | Web ban DTDD || Quan | Quan ly ban hang || Viet | Quan ly ban hang || Tuan | Quan ly ban hang | | Cuong | Joomla || Thao | Joomla |+-----------+------------------+c. Tìm xem phòng nào có nhân viên hưởng lương cao nhấtselect first_name,name,basicsal from employee inner join department on employee.dept_id=department.dept_id where basicsal=(select max(basicsal) from employee);+-----------+----------------+----------+| first_name | name | basicsal |+-----------+----------------+----------+| Tuan | Phong Giam Doc | 5000000 |+-----------+----------------+----------+ẸC ẸC đến giờ đi đá bóng roài ! Chiều về POST tiếp ! . lương trung bình của các trưởng phòng---------------------------------------BÀI GIẢI------------------------------------------1.Tạo CSDL -- Database: `humanresources`--