From d899633e847c5801e523daac4533d68f7edad1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=AD=A4=E4=B8=9C?= <3352403143@qq.com> Date: Fri, 16 Sep 2022 11:44:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E7=AC=94?= =?UTF-8?q?=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2\350\241\250\347\272\246\346\235\237.sql" | 78 +++++++++++++++++++ ...0\346\254\241\347\254\224\350\256\260.txt" | 21 +++++ 2 files changed, 99 insertions(+) create mode 100644 "\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/2022-09-15-\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.sql" create mode 100644 "\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.09.15\347\232\204sql\347\254\254\344\270\200\346\254\241\347\254\224\350\256\260.txt" diff --git "a/\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/2022-09-15-\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.sql" "b/\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/2022-09-15-\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.sql" new file mode 100644 index 0000000..ba0691a --- /dev/null +++ "b/\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/2022-09-15-\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.sql" @@ -0,0 +1,78 @@ +--关系型数据库:SQL server, Mysql, Oracle +--创建数据库:create database 数据库名 +--database:数据库 + +if exists (select * from sys.databases where name='DBTEST') + drop database DBTEST + + create database DBTEST + + --使用数据库 + use dbtest + + --创建班级表 + create table ClassInfo( + ClassId int primary key identity(1,1), + ClassName varchar(20) + ); + + --插入数据: insert [into] 表名(字段名) values(值) + insert into ClassInfo( ClassName) values('软件1班'); + + insert ClassInfo values('软件2班') + + select * from ClassInfo + + --创建数据表 + create table StuInfo( + stuId int primary key identity(1001,1), --学生ID + --添加一个检查约束,判断用户插入/新增的数据,性别字段是不是男或者女 + --default:默认约束 + --check + stugender varchar(2) not null default('男') check(stugender='男' or stugender='女'), --学生性别 + stuphone char(11) check(len(stuphone)=11) unique, + --创建班级外键 + --ClassID int references ClassInfo(ClassID) + ClassID int + + ); + + + --增加外键 + --修改表结构 表名 add constraint 约束名 foreign key(要引用的字段) references 主键表(字段) + Alter table StuInfo add constraint FK_StuInfo_ClassId foreign key(ClassID) references ClassInfo(ClassID) + + + --新增姓名列 + alter table StuInfo add stuName varchar(20) + + + + --如果没给出列名,默认是按照顺序一个个添加 + --insert StuInfo values('女',13888888888) + + --insert StuInfo(stuphone) values(15888888888) + + + + select * from StuInfo; + + --字符串:char(5),varchar(5),nvarchar(5)之间区别是什么 + + + + --删除表:drop table 表名 + drop table StuInfo + + + --非空 + + --约束,自增(标识列) + + --外键 + --主键:默认唯一列 + --默认 + --唯一: + --check检查: + + --插入数据:insert into \ No newline at end of file diff --git "a/\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.09.15\347\232\204sql\347\254\254\344\270\200\346\254\241\347\254\224\350\256\260.txt" "b/\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.09.15\347\232\204sql\347\254\254\344\270\200\346\254\241\347\254\224\350\256\260.txt" new file mode 100644 index 0000000..19e6c08 --- /dev/null +++ "b/\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.09.15\347\232\204sql\347\254\254\344\270\200\346\254\241\347\254\224\350\256\260.txt" @@ -0,0 +1,21 @@ +--鍏崇郴鍨嬫暟鎹簱:SQL server, Mysql, Oracle +--鍒涘缓鏁版嵁搴擄細create database 鏁版嵁搴撳悕 +--database:鏁版嵁搴 + --浣跨敤鏁版嵁搴 + use dbtest + create table 琛ㄥ悕锛 + 鍒楀悕 +锛 +--check;鏍告煡 UNIQUE;鍞竴绾︽潫 +--default:榛樿绾︽潫 +--references ;澶栭敭 + + --鎻掑叆鏁版嵁锛 insert [into] 琛ㄥ悕(瀛楁鍚) values(鍊) + insert into ClassInfo( ClassName) values('杞欢1鐝'); + + --澧炲姞澶栭敭 + --淇敼琛ㄧ粨鏋 琛ㄥ悕 add constraint 绾︽潫鍚 foreign key(瑕佸紩鐢ㄧ殑瀛楁) references 涓婚敭琛(瀛楁) + Alter table StuInfo add constraint FK_StuInfo_ClassId foreign key(ClassID) references ClassInfo(ClassID) + + --鏂板濮撳悕鍒 + alter table StuInfo add stuName varchar(20) \ No newline at end of file -- Gitee From cc6737aed73bedf91962bd2140ece121970b7f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=AD=A4=E4=B8=9C?= <3352403143@qq.com> Date: Sun, 18 Sep 2022 19:13:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=AC=94?= =?UTF-8?q?=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\344\275\234\344\270\232/SQLQuery1.sql" | 58 +++++++++++++++++++ .../\347\254\224\350\256\260/2022.9.16.txt" | 45 ++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 "\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/SQLQuery1.sql" create mode 100644 "\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.9.16.txt" diff --git "a/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/SQLQuery1.sql" "b/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/SQLQuery1.sql" new file mode 100644 index 0000000..0e3a5d7 --- /dev/null +++ "b/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\344\275\234\344\270\232/SQLQuery1.sql" @@ -0,0 +1,58 @@ + --1. 查询出武汉地区所有的员工信息,要求显示部门名称以及员工的详细资料 + select P.*,DepartmentName from people p + inner join Department d on d.DepartmentId=p.DepartmentId + +--2. 查询出武汉地区所有的员工信息,要求显示部门名称,职级名称以及员工的详细资料 + select P.*,DepartmentName,RankName from people p + inner join Department d on d.DepartmentId=p.DepartmentId + inner join Rank r on r.RankId=p.RankId + +--3. 根据部门分组统计员工人数,员工工资总和,平均工资,最高工资和最低工资。 +select count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary)平均工资, max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 from People p + inner join Department d on d.DepartmentId=p.DepartmentId +group by d.DepartmentName + +--4. 根据部门分组统计员工人数,员工工资总和,平均工资,最高工资和最低工资,平均工资在10000 以下的不参与统计,并且根据平均工资降序排列。 +select count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary)平均工资, max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 from People p + inner join Department d on d.DepartmentId=p.DepartmentId +group by d.DepartmentName +having avg(PeopleSalary)>10000 +order by 平均工资 desc +--5. 根据部门名称,然后根据职位名称,分组统计员工人数,员工工资总和,平均工资,最高工资和最低工资 +select count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary)平均工资, max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 from People p + inner join Department d on d.DepartmentId=p.DepartmentId + inner join Rank r on r.RankId=p.RankId +group by RankName + +--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 + when year(PeopleBirth)%12 =0 + then '猴' + when YEAR(PeopleBirth)%12=1 + then '鸡' + when YEAR(PeopleBirth)%12=2 + then '狗' + when YEAR(PeopleBirth)%12=3 + then '猪' + when YEAR(PeopleBirth)%12=4 + then '鼠' + when YEAR(PeopleBirth)%12=5 + then '牛' + when YEAR(PeopleBirth)%12=6 + then '虎' + when YEAR(PeopleBirth)%12=7 + then '兔' + when YEAR(PeopleBirth)%12=8 + then '龙' + when YEAR(PeopleBirth)%12=9 + then '蛇' + when YEAR(PeopleBirth)%12=10 + then '马' + when YEAR(PeopleBirth)%12=11 + then '羊' + end 生肖 from People diff --git "a/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.9.16.txt" "b/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.9.16.txt" new file mode 100644 index 0000000..6f8e5d0 --- /dev/null +++ "b/\347\254\254\344\272\214\346\254\241\347\275\227\346\255\244\344\270\234/\347\254\224\350\256\260/2022.9.16.txt" @@ -0,0 +1,45 @@ +**SQL涓父鐢ㄨ繍绠楃** +```sql +=锛氱瓑浜庯紝姣旇緝鏄惁鐩哥瓑鍙婅祴鍊 +!=锛氭瘮杈冧笉绛変簬 +>锛氭瘮杈冨ぇ浜 +<锛氭瘮杈冨皬浜 +>=锛氭瘮杈冨ぇ浜庣瓑浜 +<=锛氭瘮杈冨皬浜庣瓑浜 +IS NULL锛氭瘮杈冧负绌 +IS NOT NULL锛氭瘮杈冧笉涓虹┖ +in锛氭瘮杈冩槸鍚﹀湪鍏朵腑 +like锛氭ā绯婃煡璇 +BETWEEN...AND...锛氭瘮杈冩槸鍚﹀湪涓よ呬箣闂 50-100 BETWEEN 50 AND 100 +and锛氶昏緫涓庯紙涓や釜鏉′欢鍚屾椂鎴愮珛琛ㄨ揪寮忔垚绔嬶級 +or锛氶昏緫鎴栵紙涓や釜鏉′欢鏈変竴涓垚绔嬭〃杈惧紡鎴愮珛锛 +not锛氶昏緫闈烇紙鏉′欢鎴愮珛锛岃〃杈惧紡鍒欎笉鎴愮珛锛涙潯浠朵笉鎴愮珛锛岃〃杈惧紡鍒欐垚绔嬶級 + +#### 妯$硦鏌ヨ +妯$硦鏌ヨ浣跨敤like鍏抽敭瀛楀拰閫氶厤绗︾粨鍚堟潵瀹炵幇锛岄氶厤绗﹀叿浣撳惈涔夊涓嬶細 +```sql +%锛氫唬琛ㄥ尮閰0涓瓧绗︺1涓瓧绗︽垨澶氫釜瀛楃銆 +_锛氫唬琛ㄥ尮閰嶆湁涓斿彧鏈1涓瓧绗︺ +[]锛氫唬琛ㄥ尮閰嶈寖鍥村唴 +[^]锛氫唬琛ㄥ尮閰嶄笉鍦ㄨ寖鍥村唴 + +round(num,len,[type]) +鍏朵腑: +num琛ㄧず闇瑕佸鐞嗙殑鏁板瓧锛宭en琛ㄧず闇瑕佷繚鐣欑殑闀垮害锛宼ype澶勭悊绫诲瀷(0鏄粯璁ゅ间唬琛ㄥ洓鑸嶄簲鍏ワ紝闈0浠h〃鐩存帴鎴彇) +select ROUND(123.45454,3) --123.45500 +select ROUND(123.45454,3,1) --123.45400 + + +SQL璇彞鎵ц椤哄簭: + +```sql +(7) SELECT +(8) DISTINCT +(1) FROM +(3) JOIN +(2) ON +(4) WHERE +(5) GROUP BY +(6) HAVING +(9) ORDER BY +(10) LIMIT \ No newline at end of file -- Gitee