当前位置: 首页 > 知识库问答 >
问题:

SQLSELECT使用外键从两个表中选择数据的语句

东郭和光
2023-03-14

我只是在尝试使用更复杂的语句时修补SQL。我不知道这是否符合条件,但请指导如何进行。

我已经研究了连接和一些关于多个Select语句的问题,但无法正确理解它们。

我有以下两张表:

emp表:

emp_id, name, address, org_id

图书目录:

id, emp_id, status, org_id

其中books表中的emp\u id是引用emp表的外键。

我需要从特定组织的books表中获取所有记录。但除此之外,我还需要在结果中获得各个员工的所有数据,如姓名、地址。

请给我指引正确的方向。

谢谢

共有3个答案

宗安翔
2023-03-14

如果你想要账簿表上的所有记录,试试这个

Select b.id,c.emp_id,b.status,e.name,e.address
from emp_table e
Left join books_table b
on(e.emp_id=b.emp_id)
where e.org_id='3' and b.org_id='3'
宋博易
2023-03-14
SELECT books.id, books.emp_id, books.status, books.org_id, emp.name, emp.address
FROM books
JOIN emp ON emp.emp_id = books.emp_id
WHERE books.org_id = '3'

正如另一个人所说,来自emp表的org_id没有意义。您必须将其从表中删除。

谷梁昊空
2023-03-14

试试这个

select B.*,E.name,E.address from books B
     inner join employee E 
     on B.emp_id=E.emp_id 
     where B.org_id=1;

为了测试目的,我将org_id的值取为1。

 类似资料:
  • 问题内容: 我用来检索数据。我可以使用语句获取数据 现在,我可以使用以下名称获取相册名称: 现在我要获取专辑名称和角色用户的行名为 我正在使用查询 现在,当persons.get(0)返回一个对象时,如何获取名字和专辑行 通过运行代码: 我得到这个: 如何映射并获取和? 问题答案: 现在如何在persons.get(0)返回对象时获取行名和相册名 SELECT子句中具有多个 select_expr

  • 我想从具有相同user_id的两个表中获取所有数据,但我不知道要使用什么类型的联接,我想确定查询的语法。 “日程”表:

  • 问题内容: 如何编写SQL语句从三个表中选择数据? 问题答案: 使用联接 这将要求每个表都有一个table_1_id键,并且每个表中都有一个条目。 如果table_2或table_3可能没有数据,但您仍想显示来自table_1的数据,则可以使用LEFT JOIN

  • 我有两个对象,其签名如下:

  • 问题内容: 我是SQL的初学者,对Transact-SQL不太了解。 我意识到这是一个新手问题,但是我正在寻找一个简单的解决方案。 我有一个带有一些列()的表。 主表 我想从该表中选择数据并插入到其他两个表中。 第一桌 是来自的前三个字符的组合 第一个表中的数据按的前三个字符和客户代码分组 第二张桌子 那么,如何通过使用SQL选择主表的行来插入第一张表和第二张表呢? 感谢您的所有答复。 问题答案:

  • 我的代码是这样的:我想选择两个表中的数据 和myeclipese给出错误消息: 请帮帮我,我测试了一整夜! 我的MainType实体如下所示: 和映射,如下所示: