Sql语句中IN和exists的区别及应用
区别及应用场景 in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。
Sql语句中IN和exists的区别及应用 - 精品唯居 - 博客园 (cnblogs.com)
字段值约束
- 主键约束(PRIMARY KEY)
- 唯一性约束(UNIQUE)
- 非空约束(NOT NULL)
- 检查约束(CHECK)
- 外键约束(FOREIGN KEY)
字段约束条件 - 瓜田月夜 - 博客园 (cnblogs.com)
group by 的语义逻辑,是统计不同的值出现的个数。 但是,由于每一行的 id%100 的结果是无序的,所以我们就需要有一个临时表,来记录并统计结果。
1,简单sql的条件和默认函数的执行逻辑是什么。
count(1):
InnoDB引擎遍历整张表,但不取值。server层对于返回的每一行,放一个数字“1”进去,判断是不可能为空的,按行累加
order by用法
首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。
其次,order by写法:
1. select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2 asc/desc,.......
2. select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,....... (此时字段序号要从1开始)
3. select 字段列表/* from 表名 where 条件 order by 字段别名1 asc/desc, 字段别名2 asc/desc,.......(这里类似于第一种,无非就是把字段名加了个别名来代替而已。)
然后,order by的方式:
1.asc 升序,可以省略,是数据库默认的排序方式
2.desc 降序,跟升序相反。
最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。
SQL order by的用法 - Claricre - 博客园 (cnblogs.com)
SQL WHERE子句:指定查询条件 < 上一节 下一节 > 使用 SQL 从单个表或者多表联合查询数据时,可以使用 WHERE 子句指定查询条件。