SQL基础(一)

2022-08-11  本文已影响0人  高19
  • 在所有的查询结果中,返回前5行记录。
    SELECT prod _name FROM products LIMIT 5;
  • 在所有的查询结果中,从第5行开
    始,返回5行记录。
    SELECT prod_ name FROM products LIMIT 5, 5;

优化LIMIT分页:
在偏移量大的时候,例如LIMIT 10000,20. 这是MySQL需要查询10020条记录,只返回最后20条.代价过高,需要优化

  1. 索引
    用索引覆盖扫描,而不是查询所有的列,然后根据需要做一次关联操作再返回所需列

SELECT film.id,description FROM sakila.film ORDER BY title LIMIT 50,5;

若表的数据量非常大,可以使用如下查询

SELECT film.film_id,film.description FROM sakila.film INNER JOIN (SELECT film_id FROM sakila.film ORDER BY title LIMIT 50,5) AS lim USING(film_id)

  1. 左外连接:可以简称为左连接(LEFT JOIN),它会返回左表中的所有记录和右表中满足连接条件的记录
  2. 右外连接: 可以简称为右连接(RIGHT JOIN),它会返回右表中的所有记录和左表中满足连接条件的记录.
上一篇 下一篇

猜你喜欢

热点阅读