mysql基础(四)

子查询

子查询指嵌套在查询内部,且必须出现在圆括号内。子查询可以包含多个关键字或条件如:DISTINCT,GROUP BY, ORDER BY ,LIMIT,函数等。子查询的外层查询可以是UPDATE,INSERT,UPDATE,SET或DO。分成三类

  • 使用比较运算符的子查询
    如果比较的子查询返回的是集合的话,可以用ANY, SOME, ALL 关键字修饰,去做匹配ANY和SOME用法相同,都表示集合中的任意一个,ALL的话,则表示要符合子查询中所有的值


    ALL.png

    ANY.png
  • 使用[NOT] IN 的子查询
  • 使用[NOT] EXIST的子查询

多表更新

通过连接,进行多表更新


连表更新.png

连接

  • 连接语法结构
    table_reference {[ INNER | CROSS ] JOIN | { LEFT | RIGHT } [ OUTER ] JOIN } table_reference ON conditional_expr
  • 连接的类型
    • 内连接(join, inner join, cross join): 显示左表及右表符合连接条件的记录,即并集。


      并集.png
    • 左外连接(left join):显示左表的全部记录以及右表的符合连接条件的
    • 右外连接(right join): 显示右表的全部记录以及左表符合连接条件的
      可以超过两张表连接
    • 自身连接实现无线分类。即id, name, parent_id.


      image.png

      image.png

你可能感兴趣的:(mysql基础(四))