Mysql 如何在sql中联接表?

Mysql 如何在sql中联接表?,mysql,Mysql,我有两个mysql表 表A: id teachername schoolname 1 Alfreds Futterkiste abc4 2 Blauer See Delikatessen abc1 3 Maria Anders abc5 4 Thomas Hardy abc2 5 Elizabeth Lincoln

我有两个mysql表

表A:

id  teachername                   schoolname
1   Alfreds Futterkiste            abc4
2   Blauer See Delikatessen        abc1
3   Maria Anders                   abc5
4   Thomas Hardy                   abc2
5   Elizabeth Lincoln              abc1
6   Victoria Ashworth              abc4
7   Patricio Simpson               abc3
8   Howard Snyder                  abc5
9   Yang Wang                      abc2
10  Janine Labrune                 abc3
表B:

id      schoolname         branch        city
 1       abc1               xyz5         new york
 2       abc2               xyz4         london
 3       abc3               xyz3         sydney
 4       abc4               xyz1         new york
 5       abc1               xyz2         new york
 6       abc2               xyz5         sydney
 7       abc3               xyz4         londonk
 8       abc5               xyz1         london
 9       abc4               xyz2         london
 10      abc5               xyz3         sydney
我想根据表B中的学校名称访问表A中的教师名称

基于用户输入查询xyz4伦敦

如果用户搜索xyz4 london,则检查表B中的学校名称

如果存在Scool名称,则根据学校名称从表A返回教师名称

我正在尝试的是:尝试从用户输入查询xyz4 london的表B中获取学校名称

我只需要一个查询返回基于表B学校名称的教师姓名


欢迎提出任何想法或建议。

您可以搜索字段的串联

SELECT schoolname FROM table_B WHERE branch || ' ' || city LIKE '%xyz4 london%';
或者你可以反向搜索

SELECT schoolname FROM table_B WHERE 'xyz4' like '%' || branch || '%' OR 'london' like '%' || city || '%' ;

但是最简单的方法是将您的输入一分为二,并独立地查询这两个字段

谢谢您的快速回复。我没有得到你所建议的,将你的输入一分为二,并独立地查询这两个字段。请解释一下,如果你可以如何划分输入查询?感谢您可以使用两个输入框而不是1,或者在空格上拆分输入。这可以在查询数据库之前完成
SELECT schoolname FROM table_B WHERE 'xyz4' like '%' || branch || '%' OR 'london' like '%' || city || '%' ;