我的数据库中有三个表。 WORKER_DETAIL,STORE_WORKER和STORE_NAME。每个表中的条目包括:
对于WORKER_DETAIL(4个字段=工作人员序列号,姓名,生日,性别):
WSN名称生日性别
001 John 1/1/1964男
002戴夫2/2/1980男
003 Jane 3/3/1975女
对于STORE_NAME(3个字段=商店序列号,商店名称,城市)
SSN名称城市
001 StoreA洛杉矶
002 StoreB旧金山
003 StoreC迈阿密
最后一张表STORE_WORKER将两者合并在一起(3个字段= WSN,SSN,Pay)
WSN SSN Pay
001 001 $ 50(在StoreA工作的John薪水为$ 50)
003001 $ 40(在StoreA工作的简(Jane)获得$ 40的报酬)
002003 $ 60(在StoreC工作的Dave薪水为$ 60)
我当前正在制作一个搜索表单,该表单将允许用户输入Worker的名称。然后,搜索表单将使用输入名称,将其与相应的WSN进行匹配,采用WSN并将其与相应的SSN进行匹配,采用SSN,然后将其与相应的商店名称和城市进行匹配,然后输出该信息(商店STORE_NAME表中的名称和城市)。
但是我不确定如何以SQL语句的形式执行此操作。据我了解,SQL语法涉及JOIN或UNION,但是我不确定该如何处理。
最佳答案
您想要的查询是表的联接:
select w.wsn, ssn.name, ssn.city
from store_worker sw join
worker_detail w
on sw.wsn = w.wsn join
store_name s
on sw.ssn = s.ssn
where w.name = $WORKERNAME;
where
子句将工作程序名称与输入的工作程序名称进行比较。