SQL语句以查找具有特定要求的作者

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或年龄

这是我的桌子 包含以下列: 姓名、书籍、年龄

我试图让所有的作者,他们的名字以N开头,他们出版了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);