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.社团编号 --两个表格如何连接 
相关推荐
六月闻君1 分钟前
MySQL 报错:1137 - Can‘t reopen table
数据库·mysql
SelectDB技术团队10 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
inventecsh26 分钟前
mongodb基础操作
数据库·mongodb
白云如幻30 分钟前
SQL99版链接查询语法
数据库·sql·mysql
爱吃烤鸡翅的酸菜鱼1 小时前
MySQL初学之旅(4)表的设计
数据库·sql·mysql·database
The_Ticker2 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
Elastic 中国社区官方博客2 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
企鹅侠客2 小时前
ETCD调优
数据库·etcd
Json_181790144802 小时前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
煎饼小狗2 小时前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存