mysql in 可以支持多个字段

4,446 阅读1分钟
  1. 基本用法
select * from user where user_id in (600,601,602);
  1. 多个字段同时使用
select * from user where (user_id,type) in ((568,6),(569,6),(600,8));
  1. 多表同时多个字段使用
select 
	* from user 
where 
 	(legal_id,type) not in 
	(
    	select 
        	a.legal_id,a.type
        from 
        	user as a , role_user_relation as b  
        where 
        	a.legal_id=b.legal_id and a.type=b.legal_type
    ) 
limit 0,10;
SELECT
    Department.name AS 'Department',
    Employee.name AS 'Employee',
    Salary
FROM
    Employee
        JOIN
    Department ON Employee.DepartmentId = Department.Id
WHERE
    (Employee.DepartmentId , Salary) IN
    (   SELECT
            DepartmentId, MAX(Salary)
        FROM
            Employee
        GROUP BY DepartmentId
	)