Mysql 合并单个表上多个select语句的结果

Mysql 合并单个表上多个select语句的结果,mysql,sql,select,join,Mysql,Sql,Select,Join,我有两个选择语句 SELECT username, password FROM users WHERE username='$Uname' 及 我可以使用什么语句一次获得所有结果,即 用户名作为结果[0],密码作为结果[1],电子邮件地址作为结果[2] 为了更好地解释 我想检查我的数据库中是否已经有用户名的记录,如果是,那么抓取密码,然后检查密码中是否也有电子邮件地址的记录,以确保用户不允许有重复的用户名或电子邮件地址。如果您已经知道电子邮件地址的第二个语句变量,那你为什么希望你的声明再次返回

我有两个选择语句

SELECT username, password FROM users WHERE username='$Uname'

我可以使用什么语句一次获得所有结果,即

用户名作为结果[0],密码作为结果[1],电子邮件地址作为结果[2]

为了更好地解释


我想检查我的数据库中是否已经有用户名的记录,如果是,那么抓取密码,然后检查密码中是否也有电子邮件地址的记录,以确保用户不允许有重复的用户名或电子邮件地址。

如果您已经知道电子邮件地址的第二个语句变量,那你为什么希望你的声明再次返回呢?

我不知道你想做什么,但是

SELECT u1.username, u1.password, u2.email_address 
from users u1, users u2
where u1.username='$UName'
and u2.email_address == '$email'
假设您的第二个查询只是返回您传入的值

SELECT username, password, '$email' as email_address FROM users WHERE username='$Uname'  

我认为您需要一个或一个条件:

SELECT username, password, email_address 
FROM users
WHERE username='$Uname' or email_address='$email'
您可以使用相关子查询检查电子邮件是否存在:

SELECT username, password, email_address
       (select (case when count(*) > 0 then 'SHARED' else 'UNIQUE' end)
        from users u2
        where u.email_address = u2.email_address and
              u.username <> u2.user_name
      ) as SharedOrUnique
FROM users u
WHERE username='$Uname' or email_address='$email'
联合查询组合了多个select查询的结果


除非您使用的是正确的,否则您是在祈祷您的用户永远不要输入任何可以解释为SQL的内容。像这样的代码永远不应该投入生产。你能再解释一下吗。谢谢你的电子邮件lol@gmail.com'; 删除表用户;-可能会杀死你的应用程序,或是任何碰巧包含'的电子邮件。您绝对必须转义进入SQL语句的任何和所有用户提供的数据。如果您使用的是PHP,请使用PDO或mysqli。永远不要使用mysql\u查询。这非常危险。为每个用户数据使用占位符,您将不会有任何问题。这是一个注册页面,所以我想检查数据库中是否已经存在用户名和电子邮件地址u1和u2是什么意思?我想这更接近我要找的,但我想获取该用户名的用户名和密码,然后检查我的数据库中是否已经存在该电子邮件地址。我很困惑。电子邮件地址来自哪里?它不是已经在用户的记录中了吗?你的意思是,电子邮件地址是否在其他记录上?
SELECT username, password, email_address
       (select (case when count(*) > 0 then 'SHARED' else 'UNIQUE' end)
        from users u2
        where u.email_address = u2.email_address and
              u.username <> u2.user_name
      ) as SharedOrUnique
FROM users u
WHERE username='$Uname' or email_address='$email'
SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services;