1、数据库表自连接查询要点:需要利用表别名,分清行属于哪个表(逻辑表,利用别名将该表定义为多张表)
举例:
SELECT e1.name AS employee_name, e2.name AS boss_name
FROM employees AS e1 JOIN employees AS e2 ON e1.boss_id = e2.id
运行结果如下:
2、数据库多表连接查询:
2.1、数据库表可通过键联系起来,主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。
2.2、JOIN: 如果表中有至少一个匹配,则返回行;LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行;RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行;FULL JOIN: 只要其中一个表中存在匹配,就返回行。
以下为几种常见数据库表连接示例,可帮助加深理解:
3、通配符:
note:后面两种不一定适用于所有数据库,可通过 or的方式实现同样的查询效果。
4、SQL case when:
CASE WHEN *first thing is true* THEN *value1*
WHEN *second thing is true* THEN *value2*
...
ELSE *value for all other situations*
END AS (字符串类型,如果是数字要加单引号)