我是数据库新手。在mysql数据库中,我有一个表course
。我的问题是:如何搜索course_name和course_description列中的所有相关单词,我需要获取两列中所有匹配的单词?任何人都可以告诉我sql查询吗?我试过写一个查询,但是我遇到了一些语法错误。
+----------+-----------+-----------------+------------+------------+
| courseId | cname | cdesc | sdate | edate |
+----------+-----------+-----------------+------------+------------+
| 301 | physics | science | 2013-01-03 | 2013-01-06 |
| 303 | chemistry | science | 2013-01-09 | 2013-01-09 |
| 402 | afm | finanace | 2013-01-18 | 2013-01-25 |
| 403 | English | language | 2013-01-17 | 2013-01-24 |
| 404 | Telugu | spoken language | 2013-01-10 | 2013-01-22 |
+----------+-----------+-----------------+------------+------------+
答案 0 :(得分:2)
SELECT * from course WHERE cname ='%searchtermhere%'AND cdesc ='%searchtermhere%'
添加百分比%会在每个值中进行搜索,而不仅仅是以。
开头答案 1 :(得分:0)
因为你说单个参数我猜。您将获得“科学”作为输入或“物理”作为输入。然后你可以简单地使用'OR'。
select * from course where cname = (Input) or cdesc = (Input)
答案 2 :(得分:0)
如果您想搜索确切的字词
SELECT * FROM course WHERE cname ='word' AND cdesc = 'word'
或者你也可以找到每个值,而不仅仅是从开始。
SELECT * FROM course WHERE cname = '".%searchtermhere%."' AND cdesc = '".%searchtermhere%."'