数据库查找指在数据库中寻找符合特定条件的记录或数据。通常使用SQL语言来进行数据库查找。以下是数据库查找的一些示例:
- 查找表中的所有记录:
SELECT * FROM table_name;
- 查找表中符合特定条件的记录:
SELECT * FROM table_name WHERE condition;
- 查找表中符合特定条件的记录并按照特定字段排序:
SELECT * FROM table_name WHERE condition ORDER BY field_name ASC/DESC;
- 查找表中符合特定条件的记录并计算某个字段的值:
SELECT SUM(field_name) FROM table_name WHERE condition;
- 查找表中符合特定条件的记录并进行分组计算:
SELECT field_name, COUNT(*) FROM table_name GROUP BY field_name;
需要注意的是,在进行数据库查找时,应该尽可能地优化查询语句,例如使用索引,避免不必要的JOIN操作等,以提高查询效率。
二 查询
起别名
as 可以给字段名另外起个名字 (两个表里的字段一样的情况下)as 也可以用在表名上 (表名有点长,写的麻烦)
左外连接和右外连接的区别:
左外是以左边的表为主表,查询的结果只关注左表,不在乎右边
having条件查询 where分组前,having分组后的条件
#基本查询
select * from staff
#查询表内的数据 as省略没有写
#格式 SELECT 字段 FROM 表名
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff
#加查询条件
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff WHERE age>18
#模糊查询
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff WHERE name LIKE '%赵%'
#分页查询 limit 公式 limit (m-1)*n, n
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff LIMIT 0,5
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff LIMIT 5,5
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff LIMIT 10,5
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff LIMIT 15,5
# 排序 order by 字段名 (ASC 升序,DESC降序)
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff ORDER BY age ASC
#降序
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff ORDER BY age DESC
# 聚合函数 count()查询条数 sum()求和 avg()求平均数 max()最大值 min()最小值
SELECT COUNT(0) FROM staff
SELECT SUM(age) FROM staff
SELECT AVG(age) FROM staff
SELECT MAX(age) FROM staff
SELECT MIN(age) FROM staff
# 分组查询 group by 字段
SELECT age,count(0),avg(age) from staff GROUP BY age
# having条件查询 where分组前,having分组后的条件
SELECT age,count(0),avg(age) from staff GROUP BY age HAVING avg(age) > 20
#子查询
# 把查询到的结果当作另一个查询的条件
SELECT id'编号',name'姓名',age'年龄',dept'部门'FROM staff WHERE id in (SELECT id FROM department WHERE dept = '小卖部' or dept = '销售部')
#内外链接
SELECT staff.id,staff.`name`,staff.age ,department.dept FROM staff INNER JOIN department on staff.dept = department . id
#左外连接
SELECT staff.id , staff.name '名字',age , department.dept '部门' FROM staff LEFT JOIN department on staff.dept = department . id
#右外连接
SELECT staff.id , staff.name '名字',age , department.dept '部门' FROM staff RIGHT JOIN department on staff.dept = department . id