我有三个表格,即个人资料,学术,付款和这些表格,其中有两个相同的列,即用户名和状态。
我的问题是如何从所有表中状态= 1的表中选择用户名
答案 0 :(得分:1)
通常情况如下:
SELECT * FROM profile
LEFT JOIN academic ON profile.username=academic.username
LEFT JOIN payment ON profile.username=payment.username
WHERE profile.status=1 AND academic.status=1 AND payment.status=1
因为以username
作为关键字的注释通常是一件坏事,通常非常糟糕,因为如果有人能够更改其名称,则需要更新N个其他表。您可能会遇到忘记更新一个或多个表的情况,然后有人使用以前的名称注册并且"继承"这个数据。
当INDEX
整数值足够时,使用字符串user_id
键通常也非常低效。