1 AS的作用
as能把select的查询结果填入新表
create table profession
( id int(11) not null auto_increment primary key,
profession varchar(20)
) as
select profession from my_contacts
group by profession
order by profession;
2 列的别名
列名改变了查询结果中的列名,但并未改变来源列的名称。别名只是临时的。
3 表的别名
与列的别名相同,as可以省略
select profession (as) mc_prof
from my_contacts (as) mc
group by profession
order by profession;
4 联接
1 交叉联接
交叉联接(cross join)也称为笛卡尔积、交叉积,返回两张表的每一行相差的结果
select t.toy,b.boy
from toys as t
cross join
boys as b;
/*cross join 可以省略*/
2 内联接
交叉联接是内联接的一种。内联接就是通过查询中的条件移除了某些结果数据行的交叉连接。
select somecolumns
from table1
inner join
table2
on somecondition;
/*on可以换为where*/
根据条件的不同可以分为相等联接、不等联接和自然联接。
/*相等联接*/
select t.toy,b.boy
from toys as t
inner join
boys as b
on b.toy_id=t.toy_id;
不等联接的条件为“<>”
自然联接是不使用“on”字句的内联接。只有在联接的列在两张表中的名称都相同时才有用。
select t.toy,b.boy
from toys as t
natural join
boys as b;