SQL多表查询语句怎么写
答案:5 悬赏:40 手机版
解决时间 2021-01-06 12:48
- 提问者网友:战魂
- 2021-01-06 06:17
SQL多表查询语句怎么写
最佳答案
- 五星知识达人网友:轮獄道
- 2021-01-06 07:17
SQL中多表查询可以使用链接查询
1、union
union [all]
all:表示将查询的所有结果都合并到结果集中,若不加all会将重复的行只保留一行
--示例:
select * from a union select * from b
2、join
连接分为内连接、外连接、交叉连接
2.1、内连接 inner join (默认的连接方式)
只有至少有(指定的字段)一行的记录在两个查询表中都有记录,此时才有结果集。即 返回两个表之间的交集(相同字段的记录)
--示例:
SELECt * FROM `a` INNER JOIN b ON a.aaa = b.aaa
2.2、外连接
a、left join 左连接
返回查询表的记录,包含左边表的所有记录,如果左边表中的记录在右边表中没有对 应的记录,则所返回右边表的字段结果为空(差集)
--示例:
SELECt * FROM `a` LEFT JOIN `b` ON a.aaa = b.aaa
b、right join 右连接
与left join相反,查询的记录包含右边表的所有记录,如果右边表中的记录在左边表 中没有对应的记录,则返回左边表的字段值为空(差集)
--示例:
SELECt * FROM `b` LEFT JOIN `a` ON a.aaa = b.aaa
c、full join 全连接
返回左表和右表中的所有记录,即两表的数据全部显示
--示例:
select * from a full join b
3、cross in 交叉连接
不带where子句,返回两个表中所有笛卡尔积,记录数为a表和b表记录数的积
--示例:
SELECt * FROM `b` CROSS JOIN `a`
1、union
union [all]
all:表示将查询的所有结果都合并到结果集中,若不加all会将重复的行只保留一行
--示例:
select * from a union select * from b
2、join
连接分为内连接、外连接、交叉连接
2.1、内连接 inner join (默认的连接方式)
只有至少有(指定的字段)一行的记录在两个查询表中都有记录,此时才有结果集。即 返回两个表之间的交集(相同字段的记录)
--示例:
SELECt * FROM `a` INNER JOIN b ON a.aaa = b.aaa
2.2、外连接
a、left join 左连接
返回查询表的记录,包含左边表的所有记录,如果左边表中的记录在右边表中没有对 应的记录,则所返回右边表的字段结果为空(差集)
--示例:
SELECt * FROM `a` LEFT JOIN `b` ON a.aaa = b.aaa
b、right join 右连接
与left join相反,查询的记录包含右边表的所有记录,如果右边表中的记录在左边表 中没有对应的记录,则返回左边表的字段值为空(差集)
--示例:
SELECt * FROM `b` LEFT JOIN `a` ON a.aaa = b.aaa
c、full join 全连接
返回左表和右表中的所有记录,即两表的数据全部显示
--示例:
select * from a full join b
3、cross in 交叉连接
不带where子句,返回两个表中所有笛卡尔积,记录数为a表和b表记录数的积
--示例:
SELECt * FROM `b` CROSS JOIN `a`
全部回答
- 1楼网友:思契十里
- 2021-01-06 09:45
select max(B.km) from A,B where a.id=14 and b.lx=15 and a.md=b.md
- 2楼网友:人類模型
- 2021-01-06 09:35
SELECt a.id,a.md,b.lx,b.km
FROM a JOIN b
ON a.md = b.md
where a.id=14 and b.lx=15
FROM a JOIN b
ON a.md = b.md
where a.id=14 and b.lx=15
- 3楼网友:迟山
- 2021-01-06 08:25
select tableA.id,tableA.md,tableB.lx,tableB.md,tableB.km from tableA,tableB where tableA.id=14 and tableB.lx=15
没有测试,你试试吧
没有测试,你试试吧
- 4楼网友:渡鹤影
- 2021-01-06 08:06
select max(km) from a inner join b on a.id=b.id where a.id=14 and b.lx=15
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯