SQL语法

一、表相关

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;
-- 此查询会返回所有不同的学生姓名,并按字母顺序进行排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的三只猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值