Mysql学习之SQL语句 04

– 改变 某一列的位置(一般用于后添加的id列):

alter table my_class change id id int auto_increment first;

– 交叉连接

select * from my_student cross join my_class;

– my_student cross join my_class; 整个后半部分为数据源, 即 先连 后查

– 内连接查询

select * from my_student inner join my_class on my_student.c_id = my_class.id;
select * from my_student inner join my_class on c_id = my_class.id;

– 字段和表别名

select s.*,c.name as c_name, c.room from – 字段别名
my_student as s inner join my_class as c – 表别名
on s.c_id = c.id;

– 没有 on 之后的条件

select s.*,c.name as c_name, c.room from – 字段别名
my_student as s inner join my_class as c – 表别名
;

– where 代替 on

select s.*,c.name as c_name, c.room from – 字段别名
my_student as s inner join my_class as c – 表别名
where s.c_id = c.id;

– 左连接

select s.*, c.name as c_name,c.room from
my_student as s left join my_class as c – 左表为主表: 最终记录数不少于左表已有的记录数
on s.c_id = c.id;

– 右连接

select s.*, c.name as c_name,c.room from
my_student as s right join my_class as c – 右表为主表: 最终记录数不少于右表已有的记录数
on s.c_id = c.id;

– 自然内连接

select * from my_student natural join my_class;

– 自然左外连接

select * from my_student natural left join my_class;

扫描二维码关注公众号,回复: 3393120 查看本文章

– 外连接模拟自然外连接 : using

select * from my_student left join my_class using(id);

猜你喜欢

转载自blog.csdn.net/yangyang_A/article/details/80329391