连接查询是关系数据库最主要的查询,包括:
- 等值连接查询
- 自然连接查询
- 非等值连接查询
- 自身连接查询
- 外链接查询
- 复合条件查询
(所有需要操作的表都在这里建立:https://blog.csdn.net/qq_44647223/article/details/110249062)
1.等值与非等值连接查询
条件格式:
[<表名1>.]<列名><比较运算符>[<表名2>.]<列名2>
或者
[<表名1>.]<列名> BETWEEN [<表名2>.]<列名2> AND [<表名2>.]<列名3>
示例1:
查询test表的prj_num字段 在out_stock表中的数据
select test.*, out_stock.*
from test, out_stock
where test.prj_num = out_stock.prj_num;
2.外连接查询
(1)左外连接:LEFT OUTER JOIN
(2)右外连接:RIGHT OUTER JOIN
(3)全外连接:FULL OUTER JOIN
select test.prj_num, prj_name, start_date, end_time, prj_status, mat_num, amount, get_date, department
from test LEFT OUTER JOIN out_stock ON(test.prj_num = out_stock.prj_num);
3.复合条件连接查询
连接操作可以将多个表进行连接,这种称为多表连接。
select out_stock.prj_num, prj_name
from stock, out_stock, test
where stock.mat_num = out_stock.mat_num AND
test.prj_num = out_stock.prj_num AND
mat_name = '护套绝缘手套';
4.自身连接查询
查询同时使用编号为m001和m002的工程号。
select A.prj_num
from out_stock A, out_stock B
where A.prj_num = B.prj_num AND A.mat_num = 'm001' AND B.mat_num='m002';