sql语句基础知识
1.主键不能被重复使用,即使当前行被删除,它的主键也不能赋值给新行。
2.尽量少使用通配符*,使用*会降低性能。
3.如果不使用排序,那么从数据库中查出的数据一般(并非绝对)是数据在数据库中的物理排序。
4.默认排序是asc,不写的情况就是asc。
5.order by应该在select句子中的最后。
6.order by 的列可以是非选择的列。例如select A, B from table order by C.
7.按多个列排序,order by b,c。当b列中有多个相同的时候,按照c排序。
8.order by 2,3 按照第二列,第三列排序,不常用。
9.指定排序方向,order by b desc,c。 b降序,相同的b,按照c升序。
10.sql语句中的between and 是前闭后闭区间。
11.在sql语句中由于and 的执行次序优先级更高,在or 和and 并存的语句中,
or要加上括号, where(b or c)and d。
12.通配符“_”只匹配单字符而不是多字符
13.[]方括号通配符用来指定一个字符集,它必须匹配指定位置的一个字符。如 [JM]%指的是以J或者M开头的
14.where和having的一个重要区别是,where过滤分组前的数据,having是过滤分组后的数据。
15.作为子查询的select只能查询单个列,企图查询多个列将返回错误。
16.内连接,查询交集。
17.union中的每个查询必须包含相同的列,聚合函数,表达式。列数据必须兼容,不必完全相同。
18.union会自动去掉重复的行,如果要匹配所有行,用union All。
19.主键约束和唯一约束的重要区别是唯一约束可以为空。
20.内连接,取两个表的交集。
21.左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。
详情可以参阅地址https://blog.csdn.net/plg17/article/details/78758593