关于在表中指定一组年份的基本SQL问题。在数据库上工作,希望我列出作者,标题,出版日期和零售价格。我有那个部分,但它也要求输出以" D"开头的所有标题。并于20世纪70年代出版。
我有第一部分:(这是我们如何教btw)
SELECT `fAuthorID`,`fTitle`,`fPubYear`,`fRetailPrice`
FROM `tBooks`
WHERE
但我似乎无法通过" D"输出作者。和1970 - 1979年展出。
答案 0 :(得分:1)
假设fpubyear
是一个数字(整数)列,查询连续年份的正确方法是使用BETWEEN
运算符。
SELECT fauthorID, fTitle, fPubYear, fReatailPrice
FROM tbooks
WHERE fTitle Like 'D%'
AND fPubYear BETWEEN 1970 and 1979;
运算符之间包含两端。它具有额外的好处,即fpubyear
上的索引可用于快速查找匹配的行 - 如果首先需要将数字转换为字符串以便能够应用{{1},则不是这种情况操作员就可以了。
LIKE
用于字符值("字符串"),不应与其他类型一起使用 - 尤其是在依赖邪恶的隐式数据类型转换时。其他数据库只会拒绝在数字列上应用。
答案 1 :(得分:-1)
SELECT fauthorID, fTitle, fPubYear, fReatailPrice
FROM tbooks
WHERE fTitle Like 'D%' AND fPubYear Like '197_'
答案 2 :(得分:-1)
您好Dewie
您使用此查询,
SELECT fAuthorID,fTitle,fPubYear,fRetailPrice
FROM tBooks
WHERE fTitle like 'D%' and fPubYear like '%197%';
希望这能给你带来结果。任何问题都让我知道