Mysql (多表查询)

@作者 Stone的博客 www.1314sl.com

    -------------- 连接查询

    SQL 中 将连接查询分成了四类
        内连接
        外连接
        自然连接
        交叉连接
        
    /*
        连接查询:join 
        左表  : 左表 join
        右表  :  join 右表
    */
        
    -- 交叉链接
        cross join 
        
        基本语法:左表 cross join 右表; ===== from 左表,右表;
        
        
    -- 内连接
        左表[inner] join 右表 on 左表.字段=右表.字段
        
        on 表示连接条件
        
        select * from 表 as a
        inner join 表 as s
        on a.id=s.id;
        
        内链接没有on 条件  又成了 笛卡尔积!
    
        内连接可以用 where 代替 on (where 没有 on 效率高)
        
        
    -- 外链接
        
        outer join 以某张表为主
        
        left join 左外链接 左连接
        right join 右外链接 右连接
        
        基本语法:
            左表 left / right join 右表 
    
    
    -- 自动连接
        natural join
        自动匹配连接条件:
            系统以字段名字作为匹配模式(同名字段就作为条件,多个同名,多个条件)
            
            改名字:
                alter table 表名 change 字段名 新字段名 类型(varchar) not null;
            
            自动使用同名作为字段连接条件。
            
            自然外链接   
                select * from 表 natural left join 表;
        
            
            左表left/right/inner join  右表 using(字段名);-- 使用同字段作为连接条件 自动合并条件

@作者 Stone的博客 www.1314sl.com

oneNate笔记

@作者 Stone的博客 www.1314sl.com

你可能感兴趣的:(Mysql (多表查询))