如何找到资本名称包含国家/地区名称的国家/地区。
例如:
Country Capital
--------------------
A Acity
B B
C xxx
D capital of D
答案将返回A,B
和D
我试过这个,但只返回国家B
SELECT name, capital
FROM world
WHERE name LIKE capital
这个问题是第13个问题 Sqlzoo
答案 0 :(得分:3)
您需要使用它正确的连接语法。
SELECT name, capital
FROM world
WHERE capital LIKE concat('%',name,'%')
注意以下查询对大多数DBMS是正确的
SELECT name, capital
FROM world
WHERE name LIKE '%' + capital + '%'
但是在Sqlzoo
发生错误您的SQL语法有错误;检查手册 对应于您的MariaDB服务器版本,以获得正确的语法 在第3行'+ capital +'%'附近
答案 1 :(得分:2)
SELECT name, capital
FROM world
WHERE name LIKE '%' + capital + '%'
答案 2 :(得分:2)
size_t countPunct( const char *s )
{
static const std::string searchPunct = ".,-;:'\"()?!";
size_t count = 0;
for ( int i = 0; i < strlen( s ); i++ )
{
if ( searchPunct.find( s[i] ) != string::npos )
count ++;
}
return count;
}
这是正确的答案。我检查过了
答案 3 :(得分:0)
尝试使用外卡比较:
SELECT name, capital
FROM world
WHERE name LIKE '%' + capital + '%'
答案 4 :(得分:0)
SELECT name, capital
FROM world
WHERE name LIKE CONCAT('%', capital, '%');
答案 5 :(得分:0)
SELECT name
FROM world
WHERE name = capital
等号在某些情况下既用作赋值运算符,又用作比较运算符。
=
赋值运算符不能在所有上下文中使用,并且仅在SET
语句或SET
语句的UPDATE
子句中有效。
答案 6 :(得分:0)
在https://sqlzoo.net/wiki/SELECT_names上,正确答案是:
SELECT name
FROM world
WHERE name LIKE capital;
答案 7 :(得分:0)
SELECT name FROM world WHERE capital LIKE name;
答案 8 :(得分:0)
我现在也在做这个问题,SQL Zoo系统仅接受以下答案。
SELECT capital, name
FROM world
WHERE capital LIKE CONCAT(name, '%');
答案 9 :(得分:0)
SELECT capital, name
FROM world
WHERE capital LIKE (concat('%', name, '%'))
答案 10 :(得分:-1)
SELECT name
FROM world
WHERE name LIKE Capital