Mysql 多表查询、查询重复、判断为空语句 SQL



MYSQL语句 搜索多个表查询 不过这种方法对数据库很累 为了方便可以使用 几千条数据会很卡。

SELECT *

FROM table1 n1
LEFT JOIN table2 n2 ON n1.typesId = n2.classid
LEFT JOIN table3 n3 ON n1.members_id = n3.id
LEFT JOIN table4 n4 ON n1.xh_big_id = n4.id
LEFT JOIN table5 n5 ON n1.xh_small_id = n5.small_id
WHERE name LIKE '%关键字%'
ORDER BY n1.id ASC

 

搜索多条数据 不包含 关键字 或不能为空的 语句

 

SELECT *

FROM table1 n1
LEFT JOIN table2 n2 ON n1.typesId = n2.classid
WHERE name NOT LIKE '%关键字%' OR name IS NULL

ORDER BY n1.id ASC

 

搜索重复的字段语句 超过1条的 记录下来

SELECT count(*) AS count, title ,name

FROM table1 n1
LEFT JOIN table2 n2 ON n1.typesId = n2.classid
LEFT JOIN table3 n3 ON n1.members_id = n3.id
LEFT JOIN table4 n4 ON n1.xh_big_id = n4.id
LEFT JOIN table5 n5 ON n1.xh_small_id = n5.small_id
GROUP BY name   

HAVING count >= 1

如果想查询两个字段或以上修改以下

GROUP BY title,name

 

查询重复语句不等于空的
SELECT userName,count(*)
FROM members
WHERE userName <> 'NULL'
GROUP BY userName
HAVING count(*) >= 1


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回