SQL必知必会-读书笔记(二)


结束SQL语句

  • 多条SQL必须适用 ; 分割
  • 单条SQL是否需要 ; 结束取决于DBMS
  • 事实上,多个 ; 没有坏处

SQL语句大小写

  • SQL 语句不区分大小写,但是,一个关键字尽量全部大写或者全部小写
  • 许多开发人员喜欢关键字大写,表名、列名小写,我也一样。但在实际开发时,可以选择保护你的右手小指关节,敲敲小写🤦‍

适当使用空格

SQL 语句在处理时会忽略空格,所以可以把SQL拆成多行,这样更好读


使用通配符

什么时候用通配符 *

  • 当我们需要所有列的时候
  • 当我们不知道列名的时候

事实上,应该尽可能减少通配符的使用,因为检索不需要的列会降低检索速度和应用程序的性能


DISTINCT 的使用

DISTINCT 用于去重,一旦使用就会作用于被检索的全部列,DISTINCT 不能仅作用于部分列


限制查询结果

  • 对于 ANSI SQL
1
SELECT TOP 5 your_column FROM your_table -- 只检索前 5 行
  • 对于 DB2
1
SELECT 5 your_column FROM your_table FETCH FIRST 5 ROWS ONLY -- 只检索前 5 行
  • 对于 Oracle
1
SELECT your_column FROM your_table WHERE ROWNUM <= 5
  • 对于 MySQL、SQLite、MariaSQL、PostgreSQL,使用 LIMIT
1
2
3
SELECT your_column FROM your_table WHERE LIMIT 5 -- 取前 5 行
SELECT your_column FROM your_table WHERE LIMIT 5 OFFSET 5 -- 从第 5 行开始,取前 5 行
SELECT your_column FROM your_table WHERE LIMIT 3,4 -- 从第 3 行开始,取前 4 行

使用注释

1
2
3
4
5
6
7
8
9
10
11
SELECT your_column FROM your_table -- 单行注释 

# 单行注释
SELECT your_column FROM your_table

/* 多行注释
SELECT
your_column
FROM
your_table
*/