- 多表查询
select 字段名列表 from 表名列表 where 条件;
- 示例
显示省和市的详细信息
河北省 石家庄市
河北省 廊坊市
湖北省 武汉市
显示省市县详细信息
select province.pname,city.cname,county.coname from province,city,county
where province.pid = city.cp_id and city.cid=county.copid;
多表查询效率较低,匹配耗时.
可以用连接查询,分为内连接和外连接.内连接和多表查询结果相同.
外连接分为左连接和右连接,左连接以左表为主,右连接以右表为主.
连接查询
重点部分***
- 内连接
内连接和多表查询只显示匹配成功的值.
select 字段名 from 表1 inner join 表2 on 条件 inner join 表3 on 条件;
eg1 : 显示省市详细信息
select province.pname,city.cname from province
inner join city on province.pid = city.cp_id;
eg2 : 显示省市县详细信息
select province.pname,city.cname,county.coname from province
inner join city on province.pid=city.cp_id
inner join county on city.cid = county.copid;
- 左外连接
以 左表 为主显示查询结果
select 字段名 from 表1 left join 表2 on 条件 left join 表3 on 条件;
eg1 : 显示省市详细信息
select province.pname,city.cname from province
left join city on province.pid = city.cp_id;
- 右外连接
用法同左连接,以右表为主显示查询结果
select 字段名 from 表1 right join 表2 on 条件 right join 表3 on 条件;
eg1: 显示省市详细信息
select province.pname,city.cname from province
right join city on province.pid = city.cp_id;