Table 1 = "device"
tkmodel name description
======= ==== ================
300 ABCD description abcd
300 EFGH description efgh
115 IJKL description ijkl
121 MNOP description mnop
200 QRST description qrst
115 UVWX description uvwx
305 WXYZ description wxyz
300 DCBA description dcba
Table 2 = "model"
enum name tkmodel
==== ========================== =======
0 Descriptive model name 300 300
1 Descriptive model name 115 115
2 Descriptive model name 200 200
3 Descriptive model name 121 121
4 Descriptive model name 305 305
我只是想通过说我对查询有一个非常基本的理解,并且可以自己做一些简单的查询,我只是不确定这个...我会认为它会是某种加入,但不是确定它会怎么做?
SELECT d.tkmodel, d.name, d.description FROM device d
鉴于上面的2个表,我想打印出3列。基本上,我希望“device”表中包含3列。但是,不是在表1中打印“device.tkmodel”号码,而是希望将“tkmodel”号码与表2中的一行匹配并打印“从表2中的该行命名“列。
因此,我尝试实现的结果如下所示:
device.name model.name device.description
=========== ========================== ==================
ABCD Descriptive model name 300 description abcd
EFGH Descriptive model name 300 description efgh
IJKL Descriptive model name 115 description ijkl
MNOP Descriptive model name 121 description mnop
QRST Descriptive model name 200 description qrst
UVWX Descriptive model name 115 description uvwx
WXYZ Descriptive model name 305 description wxyz
DCBA Descriptive model name 300 description dcba
所以目标是打印表1中的数据。但是,我想打印相应的“model.name,而不是打印表1中所示的”tkmodel“列。 “”表2中行"device.tkmodel = model.tkmodel"
的字段。
表2中的“tkmodel”号码不重复,它是该表中的唯一值,因此应该只有一个匹配。
答案 0 :(得分:3)
这是join的基本用例:
SELECT d.name, m.name, d.description
FROM device d
JOIN model m ON d.tkmodel = m.tkmodel