MySQL简化了JOINS,日期函数

时间:2013-11-22 06:01:17

标签: mysql sql

我的问题是如何找到我的艺术家录制的所有曲目的曲目标题,这些曲目在2003年9月1日之后输入数据库(即有入学名单)。

我的艺术家,曲目和标题与某些ID相关。表格如下:

Artists
-------
ArtistID, Artistname, Entrydate

Tracks
------
TitleID, TrackNum, TrackTitle

Titles
------
TitleID, ArtistID, Title

我已经制定了以下查询:

SELECT tracktitle 
FROM   tracks tr 
       JOIN titles ti 
         ON ti.titleid = tr.titleid 
       JOIN artists ar 
         ON ar.artistid = ti.artistid 
WHERE  Year(ar.entrydate) >= 2003 
       AND Month(ar.entrydate) >= 9 
       AND Day(ar.entrydate) >= 1; 

在2003年9月1日之后,是否有更有效的方法来查找录制的这些曲目(即有入学日期)?

2 个答案:

答案 0 :(得分:2)

如果您的字段的数据类型是日期,则

ar.entrydate >= "2003-09-01"就足够了。如果是时间戳字段,则为date(ar.entrydate)>="2003-09-01"

答案 1 :(得分:1)

查找2003年9月1日之后输入数据库(即有入境日期)的艺术家录制的所有曲目的曲目标题。使用一个或多个连接; 使用任何子查询。