所以我有这个问题: 编写一个显示电影详细信息(名称,类型和分类)的SQL语句。仅显示不属于“犯罪”的电影且名称不是单个单词(例如,“狮子”是单个单词电影名称,而“自杀小队”不是单个单词)。
并且我认为我必须使用联合声明,但我一直在做的是不起作用。
SELECT MOVIEGENRE, MOVIENAME
FROM MOVIE
WHERE MOVIEGENRE NOT LIKE '%CRIME%'
UNION
SELECT MOVIENAME, MOVIEGENRE
FROM MOVIE
WHERE MOVIENAME NOT LIKE '% %';
任何人都可以帮助我吗?
我一直得到这个输出:
MOVIEGENRE MOVIENAME
-------------------- --------------------
ADVENTURE PETES DRAGON
ANIMATION FINDING DORY
CRIMINAL CRIME
HORROR LIGHTS OUT
HORROR THE CONJURING 2
NERVE CRIME
顺便说一下,大学一年级学生:)
答案 0 :(得分:1)
只需将您的两个条件合并为一个WHERE
子句:
SELECT MOVIEGENRE,
MOVIENAME
FROM MOVIE
WHERE MOVIEGENRE NOT LIKE '%CRIME%' AND -- not crime based
MOVIENAME LIKE '% %' -- name is two or more words
答案 1 :(得分:0)
试试这个:
SELECT MOVIEGENRE, MOVIENAME
FROM MOVIE
WHERE MOVIEGENRE NOT LIKE '%CRIME%'
AND INSTR(MOVIENAME,' ',1,1)=0
你不需要工会,条件就足够了。
答案 2 :(得分:0)
如果您使用的是SQL Server
,请使用以下脚本。
SELECT MOVIEGENRE, MOVIENAME
FROM MOVIE
WHERE MOVIEGENRE NOT LIKE '%CRIME%' --Getting MOVIEGENRE which is not crime
AND LTRIM(RTRIM(MOVIENAME)) like '% %' --Getting MOVIENAME contains more than one word