반응형
반응형
개요가끔 SQL 쿼리를 보면 WHERE절 맨 앞에 1=1이 있는 것을 볼 수가 있다.SELECT * FROM t1 WHERE 1=1 AND col1 = 'eunbyeol' 처음 볼 때에는 이게 무엇인가 싶었는데,의미를 알고 사용하면 오히려 더 편하게 쿼리를 작성할 수도 있게 된다.오늘은 WHERE 1=1을 왜 사용하는지에 대한 사용 이유에 대해 알아보도록 한다. WHERE 1=1 사용 이유, 왜 사용할까?동적 쿼리 조건 구성의 단순화결론부터 말하자면, WHERE 1=1 은 주로 동적 쿼리를 작성할 때 많이 사용한다.특정 조건에 따라 동적으로 추가되거나 제거되는 조건절을 위한 기본 쿼리 구조로 많이 사용된다.SELECT * FROM t1 WHERE 1=1 위의 예시 쿼리는 동적 쿼리의 기본 구조를 심플하게..
개요테이블에 다음과 같은 데이터가 존재한다.1, 'eunbyeol'2, 'e_nbyeol'3, 'e__byeol' 나는 'e_nbyeol' 데이터를 like 키워드로 조..
와일드카드란? 와일드카드 문자란? (WildCard)와일드카드는 패턴 매칭을 위해 사용되는 문자패턴에 일치하는 문자열을 효과적으로 검색하거나 필터링하기 위해 사용SQL에서 주로 WHERE 절의 LIKE 연산자와 함께 사용여러 가지 와일드카드 문자(%, [], ^, _)가 존재즉, 데이터를 더 쉽게 검색하여 원하는 결과를 얻기 위한 목적으로 사용와일드카드 : % (백분율 문자) % : 하나 이상의 일치하는 문자 찾기 개념0개 이상의 문자를 나타낸다.즉, 임의의 문자열을 대체할 수 있다.예를 들어, 'a%'는 'a'로 시작하는 모든 문자열을 나타낸다. 사용 방법'e%' : 문자 'e'로 시작하는 모든 문자열을 나타낸다.'%e' : 문자 'e로 끝나는 모든 문자열을 나타낸다.'%e%' : 문자 'e'가 중간에..
IN 구문이란?마이크로소프트 공식문서에 의하면, 지정한 값이 하위 쿼리 또는 목록의 값과 일치하는지 여부를 결정하는 것이라고 한다. IN 구문은 SQL 쿼리에서 사용되는 조건절 중 하나로, 특정 값을 포함하는지 여부를 확인하는 데 사용한다. 즉, 여러 개의 동등 조건(OR 조건)을 하나의 'IN' 구문으로 간략하게 표현하는 것이다.IN 구문 (IN 문법, 사용법)test_expression [ NOT ] IN ( subquery | expression [ ,...n ] ) subquery 결과 집합이 하나의 열로 구성된 하위 쿼리 이 열은 test_expression과 동일한 데이터 유형을 가져야 한다. expression [ ,...n ] 일치 여부를 테스트할 식 목록 모든 식은 test_express..
개요 데이터베이스의 기초를 다루려면 기본적으로 SQL과 CRUD의 개념을 알고 있어야 합니다. 또한 SQL의 질의문(쿼리문)을 사용하여 데이터를 조작할 수 있어야 합니다. 이번 포스팅에서는... 1) SQL과 CRUD의 개념 2) 데이터베이스에서 데이터를 어떻게 조회(Select)해야 하는지 3) 데이터베이스에서 데이터를 어떻게 추가(Insert)해야 하는지 4) 데이터베이스에서 데이터를 어떻게 갱신(Update)해야 하는지 5) 데이터베이스에서 데이터를 어떻게 삭제(Delete)해야 하는지 에 대한 내용을 다룹니다. 포스팅을 읽기 앞서... 이 글은 MySQL Workbench를 기준으로 작성되었습니다. MySQL을 사용하여 데이터베이스와 테이블을 만들고, SQL CRUD를 수행하는 방법은 아래의 포스..
이해가 어렵다면 아래의 포스팅을 참고하여 주세요. SQL - SQL 최적화, 옵티마이저(개념, 작동 과정, 옵티마이저의 종류) SQL - SQL 최적화, 옵티마이저(개념, 작동 과정, 옵티마이저의 종류) SQL 최적화 개념 DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정을 의미 SQL 옵티마이저를 통해 DBMS 내부 엔진에서 프로시저를 만듦 즉, SQL 옵티마이저는 SQL문 luvris2.tistory.com 라이브러리 캐시(Library Cache) 개념 시스템 공유 메모리에서 SQL과 실행계획이 캐싱되는 영역 SQL 파싱, 최적화, 로우 소스 생성 과정을 거쳐 생성한 내부 프로시저를 반복 재사용할 수 있도록 캐싱해 두는 메모리 공간을 의미 Oracle 에서는 라이브..