SQL语句以查找具有特定要求的作者
这是我的桌子 包含以下列: 姓名、书籍、年龄 我试图让所有的作者,他们的名字以N开头,他们出版了30多本书,或者他们的年龄在30岁以下 这是我的疑问:SQL语句以查找具有特定要求的作者,sql,Sql,这是我的桌子 包含以下列: 姓名、书籍、年龄 我试图让所有的作者,他们的名字以N开头,他们出版了30多本书,或者他们的年龄在30岁以下 这是我的疑问: select name from authors where (name like '%N' and books > 30 or age < 30); 从作者中选择姓名(姓名如“%N”和书籍>30或年龄30本或年龄30 或年龄30本或年龄30或年龄30)还是年龄30或年龄
select name from authors where (name like '%N' and books > 30 or age < 30);
从作者中选择姓名(姓名如“%N”和书籍>30或年龄<30);
我没有得到我想要的解决方案,想必你想要正确的括号:
where name like 'N%' and (books > 30 or age < 30);
其中名称如“N%”和(书籍>30本或年龄<30岁);
选择名称
来自作者
其中的名称如“N%”
书籍>30
或年龄<30岁;
以N开头的作者是“N%”
where name like 'N%' and (books > 30 or age < 30);
其中名称如“N%”和(书籍>30本或年龄<30岁);
您当前使用的是'%N'
,意思是“以通配符开头,以N结尾”,而您应该使用'N%'
意思是“以通配符结尾,以N开头”
您想提取以'N'
开头的'Authors'
条目,因此需要使用'N%'
:
SELECT name FROM authors WHERE name LIKE 'N%' AND (books > 30 or age < 30);
从名为“N%”和(书籍>30或年龄<30)的作者中选择姓名;
样本数据和所需结果将有所帮助。您的查询是有效的,并且是对您的问题的有效解释,因此减少歧义会有所帮助。您是指where(名称如'N%'和图书>30)还是年龄<30
,还是where名称如'N%'和(图书>30或年龄<30)
?'%N'
应该是'N%'
Kim使用了以通配符结尾的'%N',而我使用了以通配符开头的'N%'。他想提取以“N”开头的“作者”名称,所以他需要使用“N%”。哦,好吧,我在答案中添加了它
SELECT name FROM authors WHERE name LIKE 'N%' AND (books > 30 or age < 30);