diff --git "a/33\351\227\253\347\273\247\345\221\250/20231024\350\257\276\345\240\202\347\254\224\350\256\260.md" "b/33\351\227\253\347\273\247\345\221\250/20231024\350\257\276\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..c55e6c10c6d6ac7e497dd1a9fae1c3978ef259ff --- /dev/null +++ "b/33\351\227\253\347\273\247\345\221\250/20231024\350\257\276\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,23 @@ +**子查询的三种用法:** + +1. 放在 select 后当列使用,要求子查询单列单行。 +1. 放在 from 后面 当表使用,要给子查询取别名。 +3. 放在 where 后面当条件使用 + +单列单行:此时条件可以直接用 = > < <> 等。 + +单列多行:就需要使用 in any all 等。 + +**count 的使用注意事项:** + +1. count(*) 查询所有,包括 null +1. count(常量) 查询所有,包括 null +1. count(列名) 返回列名指定列的记录数,不包括 null + +**count(*)和count(1)和count(列名)执行效率比较:** + +- 如果列为主键,count(列名)效率优于count(1) +- 如果列不为主键,count(1)效率优于count(列名) +- 如果表中存在主键,count(主键列名)效率最优 +- 如果表中只有一列,则count(*)效率最优 +- 如果表有多列,且不存在主键,则count(1)效率优于count(*) \ No newline at end of file