4.1 联结表
外键:外键为某个表中的一列,它包含另一个表的主键值,定义 了两个表之间的关系。
内部联结
SELECT v_name, p_name, p_price
FROM ven INNER JOIN pro
ON ven.id = pro_id;
联结多个表
4.2 创建高级联结
使用不同类型的联结
LEFT/RIGHT OUTER JOIN
使用带聚集函数的联结
4.3 组合查询
UNION:自动去除重复的行
包含或取消重复的行
UNION ALL:不取消重复的行
对组合查询结果排序
在用UNION组合查询的时候,只能 使用一条ORDER BY子句 ,且在最后一条SELECT语句之后
4.3 全文本搜索
全文本搜索:MyISAM支持、InoDB不支持
启动全文本搜索支持
FULLTEXT子句
CREATE TABLE productnotes
(note_id int NOT NULL AUTO_INCREMENT,
pro_id char(10) NOT NULL,
note_date datetime NOT NULL,
note_text text NULL,
PRIMARY KEY(note_id),
FULLTEXT(note_text)
)ENGINE=MyISAM
MySQL会根据FULLTEXT(note_text)的指示对它进行索引
进行全文本搜索
索引之后,使用Match()和Against()执行全文本搜索
Match()指定被搜索的列,Against()指定要使用的搜索表达式
SELECT note_text
FROM productsnotes
WHERE Match(note_text) Against('rabbit');
除非使用BINARY方式,全文本搜索不区分大小写
它返回以文本匹配的良好程度的数据
查询扩展
布尔文本搜索