连表查询:join
from 表名1 left join 表名2 on 连接条件;
连接条件 : 表名1.字段名=表名2.字段名 my_student.id=my_class.id
字段名指:字段名就是表中的列名;例如 id ,name ,sex, age
给表取别名: 表名 as 别名 (没有as关键字也可以)
select stu_name,age,sex,class_name from my_student left join my_class on my_student.c_id = my_class.id;
select * from my_student as s left join my_class as c on s.c_id = c.id;
select stu_name,age,sex,class_name,my_calss.id as c_id,my_student.id as s_id from my_student as s left join my_class as c on s.c_id = c.id;
3nf 表的3范式 1个表只能存一个对象
后面给表起别名,在前面就可以使用,无顺序问题,无需再前面起名,会报错;
前面给id起别名是因为2个表的id无法区分谁是谁,所以起别名来区分2个id分别是哪个表的id。查询出来的字段名会是起的别名。
连表查询:join
from 表名1 left join 表名2 on 连接条件;
连接条件 : 表名1.字段名=表名2.字段名 my_student.id=my_class.id
字段名指:字段名就是表中的列名;例如 id ,name ,sex, age
给表取别名: 表名 as 别名 (没有as关键字也可以)
select stu_name,age,sex,class_name from my_student left join my_class on my_student.c_id = my_class.id;
select * from my_student as s left join my_class as c on s.c_id = c.id;
select stu_name,age,sex,class_name,my_calss.id as c_id,my_student.id as s_id from my_student as s left join my_class as c on s.c_id = c.id;
3nf 表的3范式 1个表只能存一个对象
后面给表起别名,在前面就可以使用,无顺序问题,无需再前面起名,会报错;
前面给id起别名是因为2个表的id无法区分谁是谁,所以起别名来区分2个id分别是哪个表的id。查询出来的字段名会是起的别名。
浙公网安备 33010602011771号