diff --git "a/10\344\275\231\351\207\221\346\230\237/8.29-\345\273\272\345\272\223\345\273\272\350\241\250\347\273\203\344\271\240.md" "b/10\344\275\231\351\207\221\346\230\237/8.29-\345\273\272\345\272\223\345\273\272\350\241\250\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..e248dee3696f9efec56dd10c866f88d747492e3a --- /dev/null +++ "b/10\344\275\231\351\207\221\346\230\237/8.29-\345\273\272\345\272\223\345\273\272\350\241\250\347\273\203\344\271\240.md" @@ -0,0 +1,57 @@ +```sql +create database DBTEST +go +use DBTEST +go +--部门信息表 +create table sectionInfo( +sectionID int primary key identity(1,1),--部门编号 +sectionName varchar(10) not null --部门名称 +) +go +insert sectionInfo +values('人事部'), + ('行政部'), + ('财会部'), + ('安全部'), + ('销售部') +go +--员工信息表 +create table userInfo( +userNo int primary key identity(1,1) not null,--员工编号 +userName varchar(10) unique not null check(len(userName)>4),--员工姓名 +userSex varchar(2) not null check(userSex='男'or userSex='女'),--员工性别 +userAge int not null check(userAge between 1 and 100),--员工年龄 +userAddress varchar(50) default('湖北'),--员工地址 +userSection int references sectionInfo(sectionID)--员工部门 +) +go +insert userInfo +values('小小小灿芳','男',20,'福建',2), + ('两年半的羿','男',20,'福建',4), + ('羿的铁杆粉','男',20,'福建',5) +insert userInfo(userName,userSex,userAge,userSection) +values('asdzxc','男',20,3), + ('aaaaaaaaaa','男',20,1) +go +--员工考勤表 +create table workInfo( +workId int primary key identity(1,1) not null,--考勤编号 +userId int references userInfo(userNo) not null,--考勤员工 +workTime datetime not null,--考勤时间 +workDescription varchar(40) not null check(workDescription='迟到'or workDescription='早退'or workDescription='旷工' +or workDescription='病假' or workDescription='事假')--考勤说明 +) +go +insert workInfo +values(2,'2022-8-29 10:44:00','事假'), + (3,'2022-8-29 10:32:50','迟到'), + (1,'2022-8-29 10:42:10','早退'), + (5,'2022-8-29 10:01:30','旷工'), + (4,'2022-8-29 10:55:16','病假') +go +select * from sectionInfo +select * from userInfo +select * from workInfo +``` + diff --git "a/10\344\275\231\351\207\221\346\230\237/8.30-\346\235\241\344\273\266\346\237\245\350\257\242\344\275\234\344\270\232.md" "b/10\344\275\231\351\207\221\346\230\237/8.30-\346\235\241\344\273\266\346\237\245\350\257\242\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..da55365fb57317acaf1e6bfe1cfd10bc340f62a7 --- /dev/null +++ "b/10\344\275\231\351\207\221\346\230\237/8.30-\346\235\241\344\273\266\346\237\245\350\257\242\344\275\234\344\270\232.md" @@ -0,0 +1,74 @@ +```sql +use DBTEST + +--1. 根据指定列(姓名,性别,月薪,电话)查询性别为女的员工信息,并自定义中文列名 +select PeopleName 姓名,PeopleSex 性别,PeopleSalary 月薪,PeoplePhone 电话 from People where PeopleSex='女' +--2. 查询月薪大于等于10000 的员工信息( 单条件 ) +select * from People where PeopleSalary>=10000 +--3. 查询月薪大于等于10000 的女员工信息(多条件) +select * from People where PeopleSalary>=10000 and PeopleSex='女' +--4. 显示出出身年月在1980-1-1之后,而且月薪大于等于10000的女员工信息。 +select * from People where YEAR(PeopleBirth)>=1980 and PeopleSalary>=10000 +--5. 显示出月薪大于等于15000 的员工,或者月薪大于等于8000的女员工信息。 +select * from People where PeopleSalary>=15000 or PeopleSalary>=8000 +--6. 查询月薪在10000-20000 之间员工信息( 多条件 ) +select * from People where PeopleSalary between 10000 and 20000 +--7. 查询出地址在北京或者上海的员工信息 +select * from People where PeopleAddress='北京' or PeopleAddress='上海' +--8. 查询所有员工信息(根据工资排序,降序排列) +select * from People +order by PeopleSalary desc +--9. 显示所有的员工信息,按照名字的长度进行倒序排列 +select * from People +order by len(PeopleName) desc +--10. 查询工资最高的5个人的信息 +select top 5 * from People +--11. 查询工资最高的10%的员工信息 +select top 10 percent * from People +--12. 查询出地址没有填写的员工信息 +select * from People +where PeopleAddress is null +--13. 查询出地址已经填写的员工信息 +select * from People +where PeopleAddress is not null +--14. 查询所有的80后员工信息 +select * from People +where YEAR(PeopleBirth)>=1980 +--15. 查询年龄在30-40 之间,并且工资在15000-30000 之间的员工信息 +select * from People +where (year(GETDATE())-year(PeopleBirth)) between 30 and 40 and +PeopleSalary between 15000 and 30000 +--16. 查询出巨蟹 6.22--7.22 的员工信息 +select * from People +where MONTH(PeopleBirth)=6 and DAY(PeopleBirth)>=22 +or +MONTH(PeopleBirth)=7 and DAY(PeopleBirth)<=22 +--17. 查询工资比赵云高的人 +select * from People +where PeopleSalary>(select PeopleSalary from People where PeopleName='赵云') +--18. 查询出和赵云在同一个城市的人 +select * from People +where PeopleAddress=(select PeopleAddress from People where PeopleName='赵云') +--19. 查询出生肖为鼠的人员信息 +select * from People +where year(PeopleBirth)%12 = 4 +--20. 查询所有员工信息,添加一列显示属相(鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪) +select *, +CASE year(peopleBirth)%12 + when 4 then '鼠' + when 5 then '牛' + when 6 then '虎' + when 7 then '兔' + when 8 then '龙' + when 9 then '蛇' + when 10 then '马' + when 11 then '羊' + when 12 then '猴' + when 1 then '鸡' + when 2 then '狗' + when 3 then '猪' + else '' +end 生肖 +from people +``` +