1、两个不相关的表,可以建立子查询关系:SELECT user_id,allow_search,allow_tel_search,(SELECT soft_id FROM soft_update LIMIT 0,1) FROM user_info WHERE user_id=6
2、也可以通过关联查询:SELECT a.user_id,a.allow_search,a.allow_tel_search,b.soft_id,b.VERSION,b.link FROM
(SELECT user_id,allow_search,allow_tel_search FROM user_info WHERE user_id=6 )a,
(SELECT soft_id,VERSION,link FROM soft_update LIMIT 0,1) b
3、数据插入:
一条sql将其它表中的数据插入新表中
INSERT INTO person2 (person_id,NAME,create_date) SELECT person_id,NAME,create_date FROM person a WHERE a.person_id IN (4,5,6)
4、union 与union all 的区别:union是消除合并表中的重复数据,union all 合并表中的重复数据依旧存在
5、将表中最早的数据标识出来(最早的数据用1 表示,其余的用0 表示)
前提:建一个人员表加一些数据,将注册最早的用户加用1 标识,其余用0 表示
SELECT a.person_id,a.name,a.create_date,
CASE WHEN (SELECT COUNT(1) FROM person b WHERE b.create_date<a.create_date)>0 THEN 0 ELSE 1 END AS is_first
FROM person a ORDER BY a.create_date ASC
注意:子查询的条件必须与整体查询条件一致,这样才能查出符合的数据