
SQL
Cpsu
个人笔记
展开
-
SQL求一行的最大值
SQL 从多行数据里选出最大值或最小值很容易——通过 GROUP BY子句对合适的列进行聚合操作,并使用 MAX 或 MIN 聚合函数就可以求出。现在需要多列数据里选出最大值。首先创建一个案例表IF OBJECT_ID('SC','U') IS NOT NULL DROP TABLE SC; --创建一个成绩表 CREATE TABLE SC( sids INT IDENTITY, --学号字段 Chinese INT, --语文课程 Math INT, --数学课程 E原创 2020-10-12 17:05:04 · 6160 阅读 · 0 评论 -
SQL Server约束
最近对SQL的主键约束进行修改时忘记了代码,索性总结一下五种约束(除了非空约束)。一、主键约束1、创建表时主键约束 IF OBJECT_ID('test','U') IS NOT NULL DROP TABLE test CREATE TABLE test ( ID INT NOT NULL CONSTRAINT PK_ID PRIMARY KEY, NAME NCHAR(8) )或者创建联合主键 IF OBJECT_ID('test','U') IS NOT NULL DROP原创 2020-09-25 16:30:02 · 568 阅读 · 0 评论 -
SQL 利用count()函数进行排序
创建表首先创建一张含有成绩的表,命名为score。相同位次则跳过之后的位次这里需要用到非等值自连接SELECT A.成绩 (SELECT COUNT(*) FROM score B WHERE A.成绩<B.成绩)+1 AS Rank FROM score A相同位次不跳过之后的位次SELECT A.成绩 (SELECT COUNT(DISTANCT B.成绩) FROM score B WHERE A.成绩<B.成绩)+1 AS Rank FROM sc原创 2020-08-14 12:28:21 · 4362 阅读 · 0 评论 -
SQL Server 时间、日期函数
1.获取系统当前日期函数GETDATE()GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime。SELECT GETDATE()2.返回UTC日期的函数GETUTCDATE()UTCDATE()函数返回当前UTC(世界标准时间)日期值。SELECT GETUTCDATE()3.获取天数的函数DAYDAY()函数用于返回指定日期是一个月中的第几天,范围从1到31。SELECT DAY(GETDATE())SELECT DAY('2014-11-30')原创 2020-08-03 21:16:53 · 1903 阅读 · 0 评论 -
如何获取Mysql的根目录
安装完mysql后,在cmd打开mysql提示不是内部命令,虽然知道是没有添加环境变量导致的,但是并不想麻烦,所以想从根目录进入。首先win+r ,然后输入 services.msc 在打开的"服务管理器"中找到"MySQL80"并双击,然后打开属性,如下图,找到根目录,然后在cmd中输入 cd +空格 +根目录,然后再输入mysql就可以了。当然你也可以复制目录配置好环境变量。...原创 2020-07-29 12:00:52 · 5089 阅读 · 2 评论 -
网传的经典SQL面试题(多解法)(一)
网上有很多SQL笔试经典50题及答案解析,并且答案和详解也有很多了,这里只是从巩固知识的角度从多方位想出解法,也算是将SQL知识进行系统的巩固,在不考虑运行效率的基础上,对于大部分题目本文将提供不同的解法。本文尽量基于标准SQL语句进行编写。首先建立四张表:学生信息表 student、课程信息表 course、学生成绩信息表sc、教师信息表 teacher。create table Student(sid varchar(10),sname varchar(10),sage datetime,ssex原创 2020-07-28 21:19:58 · 137 阅读 · 0 评论 -
SQL刷题:行与行的比较
题目有这样一张score表,要查询出课程号为02的成绩大于课程号01的成绩的学生学号。通过观察应该是学号为‘01’,学号‘03’因为是两个成绩相等都是80分所以不符合,而02和04的同学因为没有学01课程所以也不符合。解法思路行与行之间的比较可以考虑关联子查询,代码如下:SELECT A.学号 FROM score A WHERE A.课程号='02' AND A.成绩>(SELECT B.成绩 FROM score B WHERE B.学号=A.学号原创 2020-07-21 23:21:26 · 2908 阅读 · 0 评论 -
SQL Server AVG函数取整问题
SQL Sever的均值函数在求整数类型的数据均值是结果还是整数,并且不会四舍五入。也就是向下取整。这里先创建一个成绩表,并适当添加数据。 CREATE TABLE sic( 学号 nchar(10) not null, 课程号 nchar(10) not null constraint pk_lh primary key(学号,课程号), 成绩 int not null); INSERT INTO sic values ('01','01',80), ('01','02',90),原创 2020-06-19 11:41:53 · 6597 阅读 · 0 评论