SQL查询数据

在关系型数据库中,我们用的最多的就是查询。

1.基本查询

SELECT * FROM <表名>;

2.条件查询

优先级按照NOT、AND、OR进行;

SELECT * FROM <表名> WHERE <条件表达式>;

SELECT * FROM <表名> WHERE NOT <条件表达式>;

SELECT * FROM <表名> WHERE <条件表达式1> AND <条件表达式2>;

SELECT * FROM <表名> WHERE <条件表达式1> OR <条件表达式2>;

3.投影查询

返回指定的列。

SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM ... WHERE ...;

4.排序

SELECT id, name, gender, score FROM students ORDER BY score;

SELECT id, name, gender, score FROM students ORDER BY DESC;

5.分页查询

每页3条记录,获取第一页的记录。

SELECT id, name, gender, score
FROM students
ORDER BY score DESC
LIMIT 3 OFFSET 0;

查询第二页的记录:

SELECT id, name, gender, score
FROM students
ORDER BY score DESC
LIMIT 3 OFFSET 3;

查询第三页的记录:

SELECT id, name, gender, score
FROM students
ORDER BY score DESC
LIMIT 3 OFFSET 6;

6.聚合查询

SELECT COUNT(*) FROM students;

SELECT COUNT(*) <别名> FROM students;

SELECT COUNT(*) boys FROM students WHERE gender = 'M';

其他的聚合函数有SUM  AVG  MAX  MIN等。

还有常用的分组查询:

SELECT COUNT(*) num FROM students GROUP BY class_id;

7.多表查询

SELECT * FROM students, classes;

这种一次查询两个表的数据,查询的结果也是一个二维表,它是students表和classes表的“乘积”,即students表的每一行与classes表的每一行都两两拼在一起返回。结果集的列数是students表和classes表的列数之和,行数是students表和classes表的行数之积。(笛卡尔查询)

SELECT
    students.id sid,
    students.name,
    students.gender,
    students.score,
    classes.id cid,
    classes.name cname
FROM students, classes;

8.连接查询

连接查询是另一种类型的多表查询。连接查询对多个表进行JOIN运算,就是先确定一个主表作为结果集,然后,把其他表的行有选择地“连接”在主表结果集上。

SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score
FROM students s
INNER JOIN classes c
ON s.class_id = c.id;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值