Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL JOIN :juste incapable de les comprendre

Si vous effectuez une recherche en utilisant un seul terme de recherche, votre requête pourrait ressembler à

SELECT b.*, a.*
  FROM tbl_bookdescription b JOIN tbl_authordescription a
    ON b.authorID = a.authorID
 WHERE b.bookName   LIKE '%searchterm%'
    OR b.bookReview LIKE '%searchterm%'
    OR a.authorName LIKE '%searchterm%'

Si vous remplacez searchterm avec 'Tom' vous obtiendrez

| BOOKID |   BOOKNAME | BOOKREVIEW | AUTHORID | AUTHORNAME |
------------------------------------------------------------
|      1 | SQL Basics |       Cool |        1 |        Tom |

Maintenant, si c'est "Bien", alors

| BOOKID |    BOOKNAME | BOOKREVIEW | AUTHORID | AUTHORNAME |
-------------------------------------------------------------
|      2 |  PHP Basics |       Good |        2 |      Jerry |
|      4 | HTML Basics |  Very Good |        3 |       Phil |

Voici SQLFiddle démo