码迷,mamicode.com
首页 > 数据库 > 详细

mysql基础-数据库多表查询-记录(六)

时间:2015-12-30 23:38:30      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

0x01

MySQL多表查询和子查询

联结查询:事先将两张或者多张表join,根据join的结果进行查询

cross join:交叉联结  用的少, 相当于 (a+b)*(c+d+e) 所得结果的形式   用的少


自然联结  --- 只能在两者相等的情况下才能建立连接
  等值联结:把相同的字段进行等值连接

外联结:
  左外联接:只保留出现在左外连接元算之前(左边)的关系中的元组(以左表为准,)
    left_tb LEFT JOIN right_tb ON 条件
  右外联接:只保留出现在右外连接元算之后(右边)的关系中的元组(以右表为准)
    left_tb RIGHT JOIN right_tb ON 条件
全外联接:  --- 用的少

自联结:

别名:AS
表别名:
字段别名

子查询:在查询中嵌套的查询       ------   用于WHERE中的子查询
1.用于比较表达式中的子查询
  子查询的返回值只能有一个
2.用于EXISTS中的子查询
  判断存在与否
3.用于IN中的子查询
  判断存在于指定列表中
  用于FROM中子查询
select alias.col,....FROM(SELECT CLUSE) alias WHERE condition

  MYSQL不擅长于子查询,应该避免使用子查询

总结:mysql的连接查询与子查询
联结:
交叉联结:
内联结:
外联结:
左外
右外
自联结
子查询:
用于where中的子查询
用于条件比较:
用于exists
用于IN中
用于FROM

MYSQL的联合查询:
把两个或多个查询语句的结果合并成一个结果进行输出
select clauase union select clause union.....
索引
show indexs from tb_name 查看索引

show indexes from students\G;


alter table tb_name add index(字段)  --- 更改为索引
创建索引

explain 解释命令,查看命令的执行过程

MYSQL视图(虚表)
存储下来的select语句
创建:
create view 视图名 as select语句

create view stud as select name,age,gender from students;
删除:
drop view 视图名

mysql基础-数据库多表查询-记录(六)

标签:

原文地址:http://www.cnblogs.com/autopwn/p/5090138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!