本帖最后由 郑斐均 于 2019-5-15 21:46 编辑
1.什么情况下会用到表连接查询
当我们要查询的数据在不同的表中,这时候就需要同时查询多个表,将我们要的一列或多列数据取出组合成一个我们需要的临时表.
2.表的连接查询有几种
有三种连接查询方式,
第一种是内连接查询,用左边表的记录去匹配右边表的记录,如果符合条件的则显示。又分为隐式内连接SELECT 字段列表 FROM 表名列表 WHERE ...和显式内连接 SELECT 字段列表 FROM 左表 [INNER] JOIN 右表 ON 条件;
第二种是外链接查询,用左边表的记录去匹配右边表的记录,如果符合条件的则显示;否则,显示 NULL 又分为左连接和右连接,SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON
第三种是子查询,一个查询的结果做为另一个查询的条件或临时列表,
3.什么是子查询,子查询的结果有几种情况,分别怎么使用
子查询,一个查询的结果做为另一个查询的条件或临时列表, 又分为三种情况, 子查询的结果是单行单列 ,单列多行, 多行多列.
单行单列:在where后面作为条件使用,SELECT 查询字段 FROM 表 WHERE 字段= (子查询);
单列多行:结果集类似于一个数组,父查询使用 IN 运算符,SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询);
多行多列:在From后作为临时表使用,SELECT 查询字段 FROM (子查询) 表别名 WHERE 条件;
4.什么是事务,什么是提交,什么是回滚
事务是一组操作包含一个或多个步骤,这组操作被事务管理,要么同时成功或者同时失败;
提交时事务操作成功,将操作后的数据永久保存在硬盘中;
回滚是事务操作过程中,遇到错误,将数据回滚到事务开始的地方,数据变化为最开始的时候,并也永久保存在硬盘中;
5.mysql有几个隔离级别
有4个隔离级别,读未提交,读已提交,可重复读,串行化,mysql中默认的级别是可重复读;
|