-
카테고리
-
세부 분야
보안
-
해결 여부
미해결
질문입니다.
22.03.09 17:42 작성 조회수 173
1
안녕하세요
SQL기본문법 활용예제(1)강의에서
8분 25초경
예제 5번문제 해설해주시는부분이 잘 이해가 안되는데
처음에 name이 kimhongsam 인 부분에 name에 들어가서
name이 leegugu부분이 참이 된다고 하셨는데
그 이유가 궁금합니다..
답변을 작성해보세요.
0
크리핵티브
지식공유자2022.03.12
안녕하세요.
아래의 쿼리를 실행 할때 레코드별로 name 컬럼에 대입되서 조건절 참/거짓 판단이 진행됩니다.
select * from member where name !='leegugu' or name !='kimhongsam'
이때 name 컬럼에 'kimhongsam' 값이 들어왔을 경우,
아래 와 같이 진행이 됩니다.
- 원본 SQL : name !='leegugu' or name !='kimhongsam'
- 대입 후 SQL : 'kimhongsam' !='leegugu' or 'kimhongsam' !='kimhongsam'
그리고 or 연산자 기준으로 왼쪽은 피연산자(1), 오른쪽은 피연산자(2)로 아래와 같이 참 / 거짓 판단이 됩니다.
--> 피연산자(1) : 'kimhongsam' !='leegugu' => True (서로가 같지 않으니 참)
--> 피연산자(2) : 'kimhongsam' !='kimhongsam' => False
결과적으로, or 연산자는 피연산자 중 1개만 참이라도 결과를 출력하기 때문에 결과가 출력이 됩니다.
답변 1