여러테이블에서 like문 사용하기~ 정보
여러테이블에서 like문 사용하기~본문
안녕하세요~!
홈페이지 전체검색을 할려고 합니다.
서로 연결되어 검색 될 테이블이 4,5개 정도 되구요. 필드는 30개 정도 되는거 같아요.
select * from atable, btable, ctable where field1 like '%search%' or filed2 like '%search%' ....
이런식으로 입력된 값을 기준으로 일일이 필드를 다 대입해야하나요?
다른 좋은 방법은 없나요??? ㅠㅠ
고수님들 한말씀해주세요~~
홈페이지 전체검색을 할려고 합니다.
서로 연결되어 검색 될 테이블이 4,5개 정도 되구요. 필드는 30개 정도 되는거 같아요.
select * from atable, btable, ctable where field1 like '%search%' or filed2 like '%search%' ....
이런식으로 입력된 값을 기준으로 일일이 필드를 다 대입해야하나요?
다른 좋은 방법은 없나요??? ㅠㅠ
고수님들 한말씀해주세요~~
추천
0
0
댓글 3개

컬럼속성이 같다면 이퀄조인보다는 유니온(집합) sql 도 괜찮을듯하네요..
like 절은 데이터가 커지만 성능의 퍼포먼스에 매우 안좋아지거든요..
데이터가 적다면 문제가 되지않지만요.. db 는 mysql 인가요? oracle 인가용 ㅎㅎ
oracle 인 경우 적절한 hint 를 부여해서 이를 보완할수 있습니다.
pk 를 기준으로 order by 한다면 distinct 해서 추출할수 있지만 위와 같은 sql 로 하면
필요없는 데이터도 나오지 않을까용?
like 절은 데이터가 커지만 성능의 퍼포먼스에 매우 안좋아지거든요..
데이터가 적다면 문제가 되지않지만요.. db 는 mysql 인가요? oracle 인가용 ㅎㅎ
oracle 인 경우 적절한 hint 를 부여해서 이를 보완할수 있습니다.
pk 를 기준으로 order by 한다면 distinct 해서 추출할수 있지만 위와 같은 sql 로 하면
필요없는 데이터도 나오지 않을까용?

아 검색 sql 이군용 ㅎㅎ like 절이 들어갈수밖에 없네욘..ㅎㅎ
답변 감사합니다 ^^
my-sql 사용하구 있어요~ 그럼..... like 로 모든 필드를 비교하는 방법으로 해야하는건가요?ㅠㅠ
my-sql 사용하구 있어요~ 그럼..... like 로 모든 필드를 비교하는 방법으로 해야하는건가요?ㅠㅠ