두 테이블, follow
및 followed
이 있습니다. follow.screen != followed.following_screen_name
과 같이 follow
테이블의 모든 행을 가져 오려고합니다.두 테이블 간의 MySQL 테이블 비교
추적 테이블
ID screen_name
-----------------
1 eddie
2 jason
3 omar
4 jonathan
5 jack
는
SELECT follow.screen_name from follow, followed where followed.my_screen_name='john'
AND follow.screen_name != followed.following_screen_name
를 작동하지 않았다 내가 노력 테이블
ID my_screen_name following_screen_name
-------------------------------------------
1 john eddie
2 kenny eddie
3 kenny omar
4 john jason
5 john omar
쿼리를 따라
예상 결과
ID screen_name
-----------------
1 jonathan
2 jack
+1. "외부 조인"질의의 WHERE 절에있는 술어는 이것을 "anti-join"패턴 ...'F'의 모든 행과'D'의 일치하는 행으로 만든 다음 일치하는 모든 행을 제외시킵니다 . (지정된 결과 집합을 반환하는 패턴이 여러 개 있음을 지적하십시오.) – spencer7593
@ JohnDoe, 첫 번째 조건으로 F.screen_name을 John으로 바꾸고 OR을 AND로 바꿔야합니다. 여기는 SQL 바이올린입니다. http://www.sqlfiddle.com/#!2/7ef0a/5 – radar
고마워, 형제 사랑해! –