一、表相关
1、建表相关
简单建表语句
create table student (
id int auto_increment primary key,
name varchar(20) not null,
age tinyint not null
)
二、查询相关
1、DISTINCT关键字用法
基本用法
-- 示例:查询所有不同的老师姓名,teacher是表名
SELECT DISTINCT name FROM teacher;
-- 这个查询将返回学生表中所有不同的名字。
-- 如果有多个老师叫同一个名字,DISTINCT 会去除重复的名字,只返回每个名字一次。
多个字段一起使用
-- 如果你需要查询多个字段的唯一组合,可以使用 DISTINCT 来确保这些字段组合是唯一的。
-- 查询所有不同的学生姓名和年龄组合
SELECT DISTINCT name, age
FROM student;
-- 这个查询会返回所有不同的姓名和年龄的组合。
-- 如果两个学生名字相同,但年龄不同,或者年龄相同但名字不同,它们都会被视为不同的记录。
和聚合函数结合使用
-- 可以与聚合函数(如 COUNT, SUM, AVG, MAX, MIN 等)一起使用,来计算不重复值的数量。
-- 查询有多少个不同的课程
SELECT COUNT(DISTINCT subject_id) AS unique_subject_count
FROM transcript;
-- 这个查询会返回在 transcript 表中出现的不同课程 subject_id 的数量。
-- 即使某门课程有多个学生选修,DISTINCT 只会计算该课程一次。
和 ORDER BY
-- 可以将 DISTINCT 和 ORDER BY 一起使用来对查询结果进行排序。
-- 查询所有不同的学生姓名,按字母顺序排序
SELECT DISTINCT name
FROM student
ORDER BY name;
-- 此查询会返回所有不同的学生姓名,并按字母顺序进行排序。