我有一个非常基本的数据库,我需要返回某些结果。
我正在搜索的表名为Judge
,它包含以下列:
Judge_id, Name, Suburb
在我的选择陈述中,我需要返回住在阿德莱德和悉尼的每个人的结果。
所以我用:
SELECT *
FROM judge
WHERE Suburb LIKE ('Adelaide' 'Sydney');
但这不会返回任何结果。还尝试过:
SELECT *
FROM judge
WHERE Suburb = 'Adelaide' 'Sydney'
仍然没有结果。
如果我只搜索阿德莱德:
SELECT *
FROM judge
WHERE Suburb = 'Adelaide'
我得到一个结果。但是有多个匹配,并且在表的最后一个中返回结果(如果它与它有任何关系)。
如果我这样做:
SELECT *
FROM judge
WHERE Suburb LIKE '%Adelaide%'
我得到了两场比赛。但如果我退出%标志,我只会再次获得一场比赛。
如果我搜索表中人物的任何“姓名”,我可以为他们中的任何一个获得匹配。那么为什么我在找到郊区的比赛时遇到了麻烦呢? 谢谢你的帮助
编辑:
表格如下:
CREATE TABLE JUDGE (
Judge_id INT NOT NULL,
Name VARCHAR(25),
Address VARCHAR(25),
PRIMARY KEY (Judge_id)
);
和数据:
1 Smith Melbourne
2 Green Cootamundra
3 Gates Dunkeld
4 Smith Sydney
5 Russell Adlaide
6 Schofield Adelaide
答案 0 :(得分:1)
试试这个:
SELECT * FROM judge WHERE Suburb in ('Adelaide' , 'Sydney');
您还可以提及以逗号分隔的更多郊区。
答案 1 :(得分:1)
我同意Ravi的建议 - 但是如果你真的想使用“LIKE”那么请使用:
SELECT * FROM judge WHERE Suburb LIKE 'Adelade%' or Suburb LIKE 'Sydney%';
只有在该字段数据有后缀的情况下才有用。