From babda1104d6cc59f966e7036a581360de605eab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=86=E5=88=A9=E7=BE=A4?= <2246026162@qq.com> Date: Sun, 18 Sep 2022 11:15:21 +0000 Subject: [PATCH] =?UTF-8?q?=E9=99=86=E5=88=A9=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陆利群 <2246026162@qq.com> --- .../9.18\347\254\224\350\256\260.md" | 85 +++++++++++++++++++ ...4\346\254\241\344\275\234\344\270\232.sql" | 56 ++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 "32\351\231\206\345\210\251\347\276\244/9.18\347\254\224\350\256\260.md" create mode 100644 "32\351\231\206\345\210\251\347\276\244/9.18\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.sql" diff --git "a/32\351\231\206\345\210\251\347\276\244/9.18\347\254\224\350\256\260.md" "b/32\351\231\206\345\210\251\347\276\244/9.18\347\254\224\350\256\260.md" new file mode 100644 index 0000000..bdfa83b --- /dev/null +++ "b/32\351\231\206\345\210\251\347\276\244/9.18\347\254\224\350\256\260.md" @@ -0,0 +1,85 @@ + 主键:primary key + +自增:indentity(x,y)[从x开始每次增加y] + +非空:not null + +默认:default() + + check约束:chenk(条件) + +唯一:unique + +外键:(foreign key)references 表名(字段名) + +外键:Alter table 表名 add constraint 约束名 foreign key(字段名) references 主键表(字段) + +增加字段:Alter table 表名 add 字段名 条件 + + + +SQL语句执行顺序: + +1.FROM + +2.ON + +3. **JOIN** + +4.**WHERE** + +5.**GROUP** **BY** + +6. HAVING + +7.**SELECT** + +8.**DISTINCT** + +9.**ORDER** **BY** + +10.**LIMIT** + + + +聚合函数: + +1.count:求数量 + +2.**max**:求最大值 + +3.**min**:求最小值 + +4.**sum**:求和 + +5.**avg**:求平均值 + + + +sql中常用的时间函数: + +**select** DATEDIFF(**day**, '2019-08-20', getDate()); --获取指定时间单位的差值 + +**SELECT** DATEADD(**MINUTE**,-5,GETDATE()) --加减时间,此处为获取五分钟前的时间,MINUTE 表示分钟,可为 YEAR,MONTH,DAY,HOUR + +**select** DATENAME(**month**, getDate()); --当前月份 + +**select** DATENAME(WEEKDAY, getDate()); --当前星期几 + +**select** DATEPART(**month**, getDate()); --当前月份 + +**select** **DAY**(getDate()); --返回当前日期天数 + +**select** **MONTH**(getDate()); --返回当前日期月数 + +**select** YEAR(getDate()); --返回当前日期年数 + +**SELECT** **CONVERT**(VARCHAR(22),GETDATE(),20) --2020-01-09 14:46:46 + +**SELECT** **CONVERT**(VARCHAR(24),GETDATE(),21) --2020-01-09 14:46:55.91 + +**SELECT** **CONVERT**(VARCHAR(22),GETDATE(),23) --2020-01-09 + +**SELECT** **CONVERT**(VARCHAR(22),GETDATE(),24) --15:04:07 + +**Select** **CONVERT**(varchar(20),GETDATE(),14) --15:05:49:330 diff --git "a/32\351\231\206\345\210\251\347\276\244/9.18\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.sql" "b/32\351\231\206\345\210\251\347\276\244/9.18\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.sql" new file mode 100644 index 0000000..d1d374c --- /dev/null +++ "b/32\351\231\206\345\210\251\347\276\244/9.18\347\254\254\344\272\214\346\254\241\344\275\234\344\270\232.sql" @@ -0,0 +1,56 @@ +select * from Department +select * from [Rank] +select * from People + +--1. ѯ人еԱϢҪʾԼԱϸ +select p.*,d.DepartmentName from People p +join Department d on d.DepartmentId=p.DepartmentId +where PeopleAddress='人' + + +--2. ѯ人еԱϢҪʾƣְԼԱϸ +select p.*,d.DepartmentName,r.RankName from People p +join Department d on d.DepartmentId=p.DepartmentId +join Rank r on r.RankId=p.RankId +where PeopleAddress='人' + +--3. ݲŷͳԱԱܺͣƽʣ߹ʺ͹ʡ +select DepartmentId,COUNT(*)Ա,SUM(PeopleSalary)Աܺ, +AVG(PeopleSalary)ƽ,MAX(PeopleSalary)߹,MIN(PeopleSalary)͹ from People +group by DepartmentId + +--4. ݲŷͳԱԱܺͣƽʣ߹ʺ͹ʣ +--ƽ10000 µIJͳƣҸƽʽС +select DepartmentId,COUNT(*)Ա,SUM(PeopleSalary)Աܺ, +AVG(PeopleSalary)ƽ,MAX(PeopleSalary)߹,MIN(PeopleSalary)͹ from People +group by DepartmentId +having AVG(PeopleSalary)>=10000 +order by ƽ desc + +--5. ݲƣȻְλƣͳԱԱܺͣƽʣ߹ʺ͹ +select d.DepartmentName ,COUNT(*) Ա,SUM(PeopleSalary) Աܺ , +AVG(PeopleSalary) ƽ,MAX(PeopleSalary) ߹,MIN(PeopleSalary) ͹ from People p +join Department d on d.DepartmentId=p.DepartmentId +group by d.DepartmentName,RankId + +--6.ѯз 6.22--7.22 ԱϢ +select * from People where +(MONTH(PeopleBirth)=6 and DAY(PeopleBirth)>=22) or +(MONTH(PeopleBirth)=7 and DAY(PeopleBirth)<=22) + +--7.ѯԱϢһʾ(,ţ,,,,,,,,,,) +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 0 then '' +when 1 then '' +when 2 then '' +when 3 then '' +end + from People \ No newline at end of file -- Gitee