1_count(1),count(*),count(列名)的区别和联系?
count(1): 计算每一行,不论数据内容,都计为1,计算行数。
count(*): 同样计算行数,效果与count(1)相同,会统计表中的所有行。
count(列名): 统计指定列中非空值的数量,只计算包含非空值的行。
都可以用来统计行数,但列名会受列值为空的影响
2_DROP、TRUNCATE、DELETE的区别?
DROP: 删除整个表,包括表结构和数据,表不存在。
TRUNCATE: 删除表中所有数据,保留表结构,例如列和约束。
DELETE: 删除表中的一行或多行数据,可以使用WHERE子句指定删除条件。
3_内连接和外连接的区别?
内连接: 返回两个表中满足连接条件的匹配行,没有匹配的行不包括在结果中。
外连接: 包括两个表中的所有行,匹配的行也包括在结果中,没有匹配的行用NULL表示。外连接可分为左外连接、右外连接和全外连接,具体取决于需要的结果。
4_SQL编码题:
4.1 查询学号1003-1010的学生信息(通过BETWEEN关键字实施)
4.2 查询邮箱为空的学员信息.(通过<=>关键字实施)
4.3 根据学号得到所有学生平均分后,过滤掉80分以下的学生后,对成绩进行降序排列,取前三名