数据库——sql语言学习 查找语句

一、什么是sql

SQL结构化查询语言(Structured Query Language)的缩写,它是一种专门为数据库设计的操作命令集,用于管理关系数据库管理系统(RDBMS)。

二、查找相关语句

‌‌首先,我们已经设计好一个表格,包含四个名:id name age class_name

 创建查询界面,开始编写内容(注意sql只能单条语句执行,选中所需的代码行,再执行)

1.where子语句

= 等于 找到ff表中age为21的元组

SELECT * FROM ff WHERE age=21

> 大于     <小于

找到ff表中age大于25的元组

找到ff表中age小于21的元组

SELECT * FROM ff WHERE age>25
SELECT * FROM ff WHERE age<21

    >=    大于等于 <=   小于等于

找到ff表中age大于等于25的元组

找到ff表中age小于等于21的元组

SELECT * FROM ff WHERE age>=25
SELECT * FROM ff WHERE age<=21

   !=不等于  <> 不等于 不等于有两种表达方式

找到ff表中age中不等于21的元组

SELECT * FROM ff WHERE age!=21
SELECT * FROM ff WHERE age<>21

2.逻辑运算符

and 并且

找到ff表中age中不等于21并且小于25的的元组

SELECT * FROM ff WHERE age<>21 and age<25

 or 或者

找到ff表中age中小于23或者大于25的的元组

SELECT * FROM ff WHERE age>25 or age<23

between and 范围查询 在两个值之间

找到ff表中age中23到25之间的元组

SELECT * FROM ff WHERE age BETWEEN 23 and 25

 not 取非 通常结合其他语句使用

3.补充

in 包含

找到ff表中id为1,4,5,8的元组

SELECT * FROM ff WHERE id in(1,4,5,8)

not in 不包含

找到ff表中id不为1,4,5,8的元组

SELECT * FROM ff WHERE id not in(1,4,5,8)

is null 为空

找到ff表中age为(不为)null的元组

SELECT * FROM ff WHERE age is null
SELECT * FROM ff WHERE age is not null

4.模糊查询 

like为模糊查询 需要配合占位符一起使用 

_代表一位字符

查找表ff中name为l开头并长度为3的元组

SELECT * FROM ff WHERE name LIKE "l__"

 %代表任意位字符

查找表ff中name为l开头并长度任意的元组

SELECT * FROM ff WHERE name LIKE "l%"

查找表ff中name包含l的元组

SELECT * FROM ff WHERE name LIKE "%l%"

5.分页查询 (限制查询)

limit a,b                    a表示起始的索引值 b表示查询的数量

索引从0开始查找表ff中5个元组

SELECT * from ff LIMIT 0,5

分页显示

SELECT * from ff LIMIT (page-1)*pagesize,pagesize 

一页三个的展示

-- 第一页
SELECT * from ff LIMIT 0,3
-- 第二页
SELECT * from ff LIMIT 3,3
-- 第三页
SELECT * from ff LIMIT 6,3

注意:LIMIT子语句要放在最后位置

SELECT * FROM ff WHERE age BETWEEN 23 and 25 LIMIT 0,2
SELECT * from ff ORDER BY age desc

5.排序子语句

ORDER BY 列名

desc降序排列 asc 升序排列 默认为asc

以age为标准进行降序排列

SELECT * from ff ORDER BY age desc

注意:排序子语句与where 和 limit同时出现时 位于where之后  limit之前

SELECT * FROM ff WHERE age BETWEEN 23 and 25 ORDER BY age desc LIMIT 0,3

6.分组函数和聚合函数

sum()求和

SELECT sum(age) from ff


min() 取最小值

SELECT min(age) FROM ff


max() 取最大值

SELECT max(age) FROM ff


avg() 平均数

SELECT avg(age) from ff


count() 取得的记录数量 

SELECT count(age) from ff

GROUP BY 字段名称 分组      分完组之后做查找用 having

以class_num为标准分组,分完组后查找class_num为2的且年龄最大的人的年龄与class_num

SELECT max(age),class_num FROM ff GROUP BY class_num having class_num=2

猜你喜欢

转载自blog.csdn.net/2301_78566776/article/details/142391242