分页
limit
limit 总是出现在 select 语句的最后
limit开始行,总数
limit 0,3表示从第一行开始到第三行
如果是从第1行开始,那么开始行这个0可以省略,那么limit0,3可以写成limit3
语法:
查询前三条记录
SELECT * from student limit 0, 3;
SELECT * from student limit 3;
查询从第4条记录开始的三条记录
SELECT * from student limit 3, 3;
SQL语句中的综合书写顺序
1.select
2.from
3.where
4.group by … having…
5.order by
6.limit
连表查询
内连接
语法
select * from 表1 inner join 表2 on 表1.字段=表2.字段
SELECT * from student INNER JOIN sc on student.id = sc.s_id;
内连接最重要的是, 找对两张表要关联的字段
内连接查询显示指定字段
select 指定表1.指定字段,指定表2.指定字段 from 表1 inner join 表2 on 表1.字段=表2.字段
SELECT
name,
c_id,
score
FROM
student
INNER JOIN sc ON student.id = sc.s_id;
表的别名在查询中的使用
SELECT
name 姓名,
c_id 课程id,
score 成绩
FROM
student s
INNER JOIN sc ON s.id = sc.s_id;
字段别名在字段后加as 别名,表的别名在from 表名后加as 别名(as 可以省略)
带有where条件的内连接
语法
select * from 表1 inner join 表2 on 表1.字段 = 表2.字段 where 条件
查询猪八戒的信息,要求只显示姓名、课程号、成绩
SELECT
S.name 姓名,
sc.c_id 课程号,
sc.score 成绩
FROM
student s
INNER JOIN sc ON s.id = sc.s_id
WHERE
s.name = “猪八戒”;
多表内连接
SELECT
S.name 姓名,
sc.c_id 课程号,
sc.score 成绩
FROM
student s
INNER JOIN sc ON s.id = sc.s_id
INNER JOIN course c ON c.id = sc.c_id;