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.社团编号 --两个表格如何连接 
相关推荐
han_hanker9 分钟前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
井川廊咏18 分钟前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
z落落1 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
影寂ldy1 小时前
WinForm 数据库【新增+编辑】完整功能(参数化查询+配置文件+防报错全套)
数据库
迷枫7122 小时前
达梦数据库 Hint 使用与 Hint 注入实战
数据库
Gauss松鼠会3 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结
2601_965798473 小时前
How to Build a Custom Artisan Store on WordPress: Crafti Theme Review
linux·服务器·数据库
霸道流氓气质3 小时前
Spring 事务传播机制与 REQUIRES_NEW
java·数据库·spring
YOU OU4 小时前
Redis分布式锁
数据库·redis·分布式
小草儿7994 小时前
GBase 8s CLOB → VARCHAR(32739) 数据迁移方案文档
数据库