多表联合查询
表连接
当需要查询多个表中的字段时,就可以使用表连接来实现。表联接分为内连接和外连接。
1. 内连接:将两个表中存在连接关系的字段符合连接关系的那些记录形成记录集的连接。
2. 外连接:会选出其他不匹配的记录,分为外左连接和外右连接。
在学习实验前,我为大家准备了两个模拟的数据表:
1. 用户表,存放用户信息
2. 订单表,存放哪个用户购买过哪个商品
user表创建语句CREATE TABLE IF NOT EXISTS user (
uid int(11) NOT NULL,
username varchar(30) NOT NULL,
password char(32) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS order_goods (
oid int(11) NOT NULL,
uid int(11) NOT NULL,
name varchar(50) NOT NULL,
buytime int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
user表数据如下:
注意: 在上表order_goods表中uid是指user表中的uid字段。上表中oid为1的数据行,uid为10的用户。为user表中uid为10的用户:高小峰。该用户购买了商品为苹果鼠标。购买时间buytime为一个unix时间戳。
内连接