简体   繁体   English

MySQL从两个表中选择语句

[英]MySql select from two tables statment

I have two tables: 我有两个表:

Users: 使用者:

id        name       isSpecial
1         Tal        1
2         Jorden     0
3         John       1
4         Paige      0

Details: 细节:

id        userId       Country       zipCode
1         1            Israel        4564
2         3            US            554654

I want to get all the data from Users by the name of Jorden OR if isSpecial is 1 to be shown like this 我想通过Jorden的名称从Users获取所有数据,或者如果isSpecial为1则显示为这样

Result: 结果:

id        name         Country       zipCode
1         Tal          Israel        4564
2         Jorden       
3         John         US            554654

I know its supposed to be a simple query but I cant get the results that I want! 我知道它应该是一个简单的查询,但是我无法获得想要的结果! Can anyone help me? 谁能帮我?

You can use a LEFT JOIN : 您可以使用LEFT JOIN

SELECT
  u.id,
  u.name,
  u.isSpecial,
  d.country,
  d.zipCode
FROM Users u
LEFT JOIN Detals d
ON u.id = d.userId
WHERE u.name = 'Jorden'
  OR u.isSpecial = 1

Like this 像这样

SELECT u.id,u.name,d.country,d.zipCode FROM
Users u 
LEFT outer JOIN Details d
ON u.id = d.userId
WHERE u.name = 'Jorden' OR u.isSpecial = '1'

Left join would serve your purpose. 左联接将满足您的目的。

SELECT uObj.ID,uObj.Name,DObj.country, DObj.zipcode FROM users uObj LEFT JOIN Details DObj ON uObj.ID=DObj.userID WHERE uObj.name = 'Jorden' OR uObj.isSpecial = 1; 从用户中选择uObj.ID,uObj.Name,DObj.country,DObj.zipcode LEO JOIN详细信息DObj ON uObj.ID = DObj.userID WHERE uObj.name ='Jorden'或uObj.isSpecial = 1;

Please go through the link below 请通过下面的链接

http://www.w3schools.com/sql/sql_join_left.asp http://www.w3schools.com/sql/sql_join_left.asp

Hope this helps you out. 希望这可以帮助你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM