数据库表的查询

1、基础查询(自学)

2、条件查询

SELECT * FROM stu;

-- 条件查询
-- 1、查询年龄大于40岁的学员信息
SELECT * FROM stu WHERE age > 40;

-- 2、查询年龄大于等于40岁的学员信息
SELECT * FROM stu WHERE age >= 40;

-- 3、查询年龄大于等于40岁 并且 年龄小于等于 50岁的学员信息
SELECT * FROM stu WHERE age>=40 && age<=50;
SELECT * FROM stu WHERE age>=40 and age<=50;
SELECT * FROM stu WHERE BETWEEN 40 and 50;

-- 4、查询入学日期在'2000-02-05'到'2005-02-05'之间的学员信息
SELECT * FROM stu WHERE hire_date BETWEEN '2000-02-05' AND '2005-02-05';

-- 5、查询年龄等于30岁的学员信息
SELECT * FROM stu WHERE age=30;

-- 6、查询年龄不等于30岁的学员信息
SELECT * FROM stu WHERE age!=30;
SELECT * FROM stu WHERE age<>30;

-- 7、查询年龄为55或者23或者45的学员信息
SELECT * FROM stu WHERE age=55 or age =23 or age=45;
SELECT * FROM stu WHERE age=55 or age in (55,23,45);

-- 8、查询英语成绩为null的学员信息
-- 注意:null值的比较不能使用= !=.需要使用 is isnot
SELECT * FROM stu WHERE english is not NULL;

-- 模糊查询
/*
通配符
_代表任意字符
%代表任意个数字符
*/
-- 1、查询姓'马'的学员信息

SELECT *  FROM stu WHERE NAME like '马%';

-- 2、查询第二个字为'云'的学员信息

SELECT *  FROM stu WHERE NAME like '_云';

-- 3、查询名字中包含'日'的学员信息

SELECT *  FROM stu WHERE NAME like '%日%';

3、排序查询

/*
排序查询:
ASC:升序排序(默认值)
DESC:降序排序
*/

-- 1、查询学生信息,按照年龄升序排序
SELECT *  FROM stu ORDER BY english ASC;
-- 2、查询学生信息,按照英语成绩降序排序
SELECT *  FROM stu ORDER BY english DESC;
-- 3、查询学生信息,按照英语成绩降序,然后如果英语成绩一样,那么按照数学成绩升序
SELECT *  FROM stu ORDER BY english DESC ,english ASC;

4、聚合函数

/*
count:求总数
max:求最大值
min:求最小值
sum:求和
avg:求平均值
*/

-- 1、统计总数

SELECT count(id) from stu;  
SELECT count(*) from stu;  

-- 2、查询英语成绩的最高分

SELECT MAX(english) from stu;  

-- 3、查询英语成绩的最低分

SELECT MIN(english) from stu;  

-- 4、查询英语成绩的总分

SELECT SUM(english) from stu;  

-- 5、查询英语成绩的平均分


SELECT AVG(english) from stu; 

5、分组查询

/*
    分组查询
      SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤]
*/

-- 1、查询男同学和女同学各自的英语平均分

SELECT sex , AVG(english) FROM stu GROUP BY sex;

-- 2、查询男同学和女同学各自的英语平均分以及人数

SELECT sex , AVG(english) , COUNT(*)FROM stu GROUP BY sex;

-- 3、查询男同学和女同学各自的英语平均分以及人数,要求:分数低于60分的不参与分组

SELECT sex , AVG(english) , COUNT(*)FROM stu WHERE english>=60 GROUP BY sex;

-- 4、查询男同学和女同学各自的英语平均分以及人数,要求:分数低于60分的不参与分组,分组之后的人数大于两个

SELECT sex , AVG(english) , COUNT(*)FROM stu WHERE english>=60 GROUP BY sex HAVING COUNT(*) > 2;

5、分页查询

/*
    分页查询:
    
    SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询条目数
    起始索引;从0开始
    
*/

-- 1、从0开始查询,查询3条数据

SELECT * FROM stu LIMIT 0,3;

-- 2、每页查询3条数据,查询第一页数据

SELECT * FROM stu LIMIT 0,3;

-- 3、每页查询3条数据,查询第二页数据

SELECT * FROM stu LIMIT 3,3;

-- 4、每页查询3条数据,查询第二页数据

SELECT * FROM stu LIMIT 6,3;

相关推荐

  1. 数据库查询

    2024-03-19 16:10:02       18 阅读
  2. Web框架开发-Django-数据库查询

    2024-03-19 16:10:02       18 阅读
  3. 查询pg 数据库行数,和 大小

    2024-03-19 16:10:02       18 阅读
  4. 数据库-单查询-基本查询

    2024-03-19 16:10:02       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-19 16:10:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-19 16:10:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-19 16:10:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-19 16:10:02       18 阅读

热门阅读

  1. 每天学习一个Linux命令之rm

    2024-03-19 16:10:02       23 阅读
  2. C语言经典例题 --- 公因数、素数、闰年

    2024-03-19 16:10:02       18 阅读
  3. 零基础学python:8、 函数的基础

    2024-03-19 16:10:02       22 阅读
  4. Electron框架初识:原理与实践优势深度解读

    2024-03-19 16:10:02       13 阅读
  5. 2分钟速览!chatgpt的使用方法

    2024-03-19 16:10:02       16 阅读
  6. 创建存储过程,与存储过程调用

    2024-03-19 16:10:02       25 阅读