您的位置:首页 > 数据库 > MySQL

mysql 联合查询 join 用法举例

2015-03-30 19:28 971 查看
■最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作(1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

(2).使用连接(JOIN)来代替子查询(Sub-Queries)

(3).尽量少使用 LIKE 关键字和通配符

列出所用文章与用户一一对应的数据。

SELECT ... INNER JOIN ... ON 语句如下:

SELECT article.aid,article.title,user.username FROM article INNER JOIN user ON article.uid = user.uid

等同与下面的 SQL 语句:

SELECT article.aid,article.title,user.username FROM article,user WHERE article.uid = user.uid

LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录。LEFT JOIN 基本语法如下:

... FROM table1 LEFT JOIN table2 ON condition ...

当使用 UNION 时,MySQL 会把结果集中重复的记录删掉,而使用 UNION ALL ,MySQL 会把所有的记录返回,且效率高于 UNION。

查询两张表中的文章 id 号及标题,并去掉重复记录:

SELECT aid,title FROM article UNION SELECT bid,title FROM blog

一个子查询的例子如下:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: