一张表就是一个集合
每一行就是一个元素
创建一个类似的表 字段一样 语句如下
create table minigoods like goods;
其中 minigoods 是新表 goods是旧表
insert into minigoods select * from goods limit 3;
从goods表中选出前三行数据,插入到minigoods表中
全相乘
select * from test1,test2;
mysql> select * from test1;————————表1 +------+-------+ | id | name | +------+-------+ | 1 | zhang | | 2 | li | | 3 | wang | +------+-------+ mysql> select * from test2;————————表2 +------+-------+ | id | name | +------+-------+ | 6 | nihao | | 8 | shima | +------+-------+ mysql> select * from test1,test2; ————两表全相乘 +------+-------+------+-------+ | id | name | id | name | +------+-------+------+-------+ | 1 | zhang | 6 | nihao | | 1 | zhang | 8 | shima | | 2 | li | 6 | nihao | | 2 | li | 8 | shima | | 3 | wang | 6 | nihao | | 3 | wang | 8 | shima | +------+-------+------+-------+
select id,name,id,name from test1,test2;
上语句会报错,因为两张表中都存在 id name 模糊不清,难以查询
如果在多张表联查时,某列
select test1.id,test1.name,test2.id,test2.name from test1,test2;
名在两张表以上都存在,则需要在列名前指定表名,即 表名.列名
这样得出的有没有意义的行,
select test1.id,test1.name,test2.id,test2.name from test1,test2 where test1.id=test2.id;
只需要后面加上where 条件即可