美文网首页
SQL基础(一)

SQL基础(一)

作者: 高19 | 来源:发表于2022-08-11 15:36 被阅读0次
  • 问 介绍下数据库分页
    原理: 使用LIMIT子句实现分页查询
  • 在所有的查询结果中,返回前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),它会返回右表中的所有记录和左表中满足连接条件的记录.
  • 问 where和having有什么区别?
    答: where是一个约束声明.使用where约束来自数据库的数据.where是在结果返回之前起作用的,where中不能使用聚合函数.
    having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在having中可以使用聚合函数. 另一方面,having子句中不能使用除了分组字段和聚合函数之外的其他字段.
    从性能角度来说,having子句中如果使用了分组字段作为过滤条件,应该替换成where子句,因为where可以在执行分组操作和计算聚合函数之前过滤掉不需要的数据,性能会更好

相关文章

  • sql

    sql-基础sql-基础查询-1sql-基础查询-2sql-更新 概览 数据库(Database,DB):将大量数...

  • Oracle学习-day26:SQL语句

    一、SQL语言基础 1.什么是SQL语言? (1)SQL, Structured Query Language, ...

  • SQL基础及元数据获取(数据类型,表的属性)

    1、SQL基础应用 ①.SQL的介绍SQL标准:SQL-92、SQL-99SQL_MODE:都是为了保证SQL语句...

  • MySql手动注入

    information_schema SQL基础 1.1 什么是sql? SQL(structured query...

  • MySQL

    数据类型 sql基础 数据库表 SQL SELECT 语句: SQL WHERE 子句: SQL AND & OR...

  • SQL语句

    SQL基础应用 SQL语句自动补全 SQL的介绍 SQL-92标准SQL-99标准 image SQL常用分类 表...

  • SQL高级运用

    -- =================================sql基础补充==============...

  • mysql的用法2

    -- =================================sql基础补充==============...

  • MySQL一一sql基本语法

    sql基础教程 sql教程 什么是sql? SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一...

  • SQL基础(一)

    SQL SQL是关系数据库的查询语言.在SQL中最难的应该算是查询。本篇文章, 注重点在于总结基础的sql语句, ...

网友评论

      本文标题:SQL基础(一)

      本文链接:https://www.haomeiwen.com/subject/zadzirtx.html