SQL常见语法

sql 复制代码
select * from  student;

select:选取

from:来源

*:所有栏位

sql 复制代码
select 姓名,班级,成绩  from students;

选取特定栏位

sql 复制代码
select  姓名,班级,成绩 from students limit 5;--限制显示拦数
select  姓名,班级,成绩 from students limit 5 offset 10;--跳过前10笔,显示11到15笔

limit 5:限制查询的笔数

limit 5 offset 10:跳过前10笔,显示11到15笔

sql 复制代码
select  姓名,班级,成绩

from students

where 班级 = '一年二班' -- <>不等于

orderd by 班级; --根据特定栏位进行排序,把相同班级的人排在一起

order by 班级,成绩; --同一个班级内,成绩由低到高排序
order by 班级,成绩 DESC; --降序排序

where表示筛选条件

where 班级 <> '一年二班': 不等于

orderd by 顺序:

根据特定栏位进行排序,把相同班级的人排在一起

order by 班级,成绩:

同一个班级内,成绩由低到高排序

order by 班级,成绩 DESC

降序排序

sql 复制代码
select  姓名,班级,成绩

from students

where 姓名 = '张晓婷'

/*系统显示所有姓张的同学
--%代表零个或多个任意字元
--like表示符合
*/

where 姓名 like '张%' 
/*系统显示所有姓张且名字为两个字的同学
--_表示一个字元
*/
where 姓名 like '张_'
sql 复制代码
select  姓名,班级,成绩

from students
where 成绩 >=80 and 成绩 <90
where 成绩 between 80 and 90 --左闭右开
where 成绩 between 80 and 90 and 班级 = '一年一班' or 班级 = '一年二班' 
-- 会显示一年二班中成绩不在特定区间的同学
/*and优先级高于or*/
where 成绩 between 80 and 90 and (班级 = '一年一班' or 班级 = '一年二班' )
where 成绩 between 80 and 90 and (班级 in('一年一班','一年二班'))

avg平均值,sum(),max(), min(), count()

as 别名

sql 复制代码
select avg(成绩),sum(成绩),max(成绩), min(成绩), count(成绩)
from students;
--显示平均分数/总和/最大值/最小值/数量

select avg(成绩) as 成绩平均,max(成绩) as 最高分
from students;
--设置别名

round() 保留小数

group by分组

sql 复制代码
select round(avg(成绩),1) as 成绩平均
from students;
--保留一位小数

select round(avg(成绩)) as 成绩平均
from students;
--保留整数

select 班级, round(avg(成绩)) as 成绩平均
from students
group by 班级;
--显示每个班的平均成绩

select 班级, round(avg(成绩)) as 成绩平均
from students
group by 班级
order by 成绩平均 DEC

语句顺序

count(*)-计算总行数

count(distinct(班级)) -- 只有三行,只有三个班级

sql 复制代码
select count(*)
from students

select count(班级)

select count(distinct(班级)) --删除重复的

creat table建立表格

drop table删除表格

sql 复制代码
creat table club(
社团编号 int PRIMARY KEY
社团名称 varchar(15)
)

drop table club2

insert into

sql 复制代码
insert into clubs(社团编号, 社团名称)
values(101,'吉他社'),(102, '篮球社')

update

sql 复制代码
insert into clubs(社团编号, 社团名称)
values(101,'吉他社'),(102, '篮球社')

uodate clubs
set 社团名称 = '舞蹈社'
where 社团编号 = '101'

delete

sql 复制代码
delete
from clubs
where 社团编号 = 101;

跨表格查询 left join inner join

sql 复制代码
select students.姓名 students.社团 students.社团名称
from students
left join clubs -- 把clubs表格加进来(列出左侧表格的所有记录)
on student.社团 = clubs.社团编号 --两个表格如何连接 

select students.姓名 students.社团 students.社团名称
from students
inner join clubs -- 把clubs表格加进来(内部联结,只有成功对应的记录才会被列出来)
on student.社团 = clubs.社团编号 --两个表格如何连接 
相关推荐
倔强的石头_13 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横14 小时前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab1 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据2 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡2 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧2 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon2 天前
SQL学习指南——视图
数据库·sql