부가 제목 추가
목차
WHRERE 절의 역할
SQL WHERE 절은 SQL 쿼리에서 데이터 검색 및 필터링을 위해 사용되는 절입니다. WHERE 절은 SELECT, UPDATE, DELETE 문에서 사용할 수 있습니다.
WHERE 절은 데이터베이스에서 특정 조건을 만족하는 행을 필터링하는 데 사용됩니다. WHERE 절 SELECT, UPDATE, DELETE 문과 함께 사용되며, 조건을 지정하여 원하는 결과를 얻을 수 있습니다.
WHERE 절은 조건을 지정하여 특정 레코드를 검색하거나 조작하는 데 사용됩니다. WHERE 절에 지정된 조건은 각 레코드에 대해 참 또는 거짓으로 평가됩니다. 조건이 참인 레코드만 결과 집합에 포함됩니다.
SELECT * FROM customers
WHERE city = 'New York';
WHERE 절 주요 옵션
DISTINCT
DISTINCT 키워드는 SELECT 문에서 중복된 결과를 제거하는 데 사용됩니다. 결과 집합에서 중복된 값을 하나의 값으로 압축하여 반환합니다. DISTINCT는 SQL 쿼리에서 중복된 값을 제거하여 유일한 값만을 반환하는 데 사용됩니다. 주로 SELECT 문과 함께 사용됩니다. 예를 들어, "orders" 테이블에서 고유한 고객의 수를 찾기 위해 다음과 같이 사용할 수 있습니다.
그냥 SELECT 문을 쓰면 모든 항목이 나오지만, DISTINCT를 쓰면 중복된 걸 제외해서 나옵니다.
COUNT 함수에서 중복제거된 수를 세줍니다. select 뒤에 바로 붙는다는 것을 기억하세요.
SELECT DISTINCT Country FROM Customers;
COUNT
집계 함수로서 특정 컬럼에 대한 데이터 수를 세줍니다. COUNT 함수는 특정 열의 행 수를 계산하는 데 사용됩니다. 일반적으로 COUNT(*)을 사용하여 전체 행 수를 계산하거나, 특정 열이나 표현식에 대한 행 수를 계산할 수도 있습니다.
SELECT COUNT(*) FROM Customers;
BETWEEN
A와 B 사이의 모든 데이터를 부릅니다. 둘다 포함합니다. BETWEEN 연산자는 주어진 범위 내에 있는 값을 선택하는 데 사용됩니다. BETWEEN은 일반적으로 숫자, 날짜 또는 문자열 값의 범위를 지정하는 데 사용됩니다.
SELECT * FROM Orders WHERE OrderDate BETWEEN '2022-01-01' AND '2022-12-31';
LIKE
시작하는 것 같은거, 끝나는 거 같은거를 찾을 때 쓰는 것입니다. LIKE 연산자는 패턴 매칭을 수행하여 특정 패턴과 일치하는 값을 선택하는 데 사용됩니다. LIKE는 일반적으로 문자열 값에 대해 사용되며, 와일드카드 문자(%, _)를 포함하여 패턴을 지정할 수 있습니다. IN 연산자는 특정 열 값이 지정된 목록에 포함되는지 확인하는 데 사용됩니다. IN은 여러 개의 값 또는 서브 쿼리의 결과 집합을 사용하여 비교할 수 있습니다.
SELECT * FROM Customers WHERE CustomerName LIKE 'A%';
% (퍼센트): 와일드카드 문자로 사용되며, 0개 이상의 임의의 문자열을 나타냅니다. 예를 들어, 'a%'는 'a'로 시작하는 모든 문자열을 선택합니다.
_ (언더스코어): 와일드카드 문자로 사용되며, 정확히 하나의 임의의 문자를 나타냅니다. 예를 들어, 'h_t'는 'hat', 'hot', 'hit' 등을 선택합니다.
[문자들]: 대괄호 내에 있는 문자들 중 하나와 일치하는 임의의 문자를 나타냅니다. 예를 들어, '[abc]'는 'a', 'b', 'c' 중 하나와 일치하는 문자를 선택합니다.
[범위]: 하이픈(-)으로 구분된 문자 범위 내의 임의의 문자와 일치합니다. 예를 들어, '[a-z]'는 소문자 알파벳 중 하나와 일치하는 문자를 선택합니다.
ESCAPE: ESCAPE 절을 사용하여 특수 문자를 이스케이프하여 정확히 일치시킬 수 있습니다. 예를 들어, '100%'는 '100%'라는 문자열과 일치하고, 와일드카드로 사용되는 %가 문자 그대로 해석됩니다.
IN
원하는 데이터를 여러개 선택해서 보는 겁니다.
SELECT * FROM Customers WHERE Country IN ('USA', 'Canada');
* GROUP BY
그룹별 값을 볼때 씁니다. SELECT A FROM B. 연산하는 함수들과 많이 쓰입니다. SUM, AGV, MIN, MAX, STV 등
having으로 조건을 선택할 수 있습니다. whele문 만에서 쓰는 것이 아니라 HAVING 절이 있음을 기억하셔야합니다. GROUP BY 절은 데이터를 그룹으로 나누는 데 사용됩니다. GROUP BY 절은 집계 함수와 함께 사용되며, 지정된 열을 기준으로 데이터를 그룹화하여 그룹별로 결과를 얻을 수 있습니다.
SELECT Country, COUNT(*) FROM Customers GROUP BY Country;
SELECT Country, COUNT(*) AS TotalCustomers
FROM Customers
GROUP BY Country
HAVING COUNT(*) > 5;
ORDER BY
DESC, ASC 마지막에 씁니다. ORDER BY 절은 결과 집합을 정렬하는 데 사용됩니다. ORDER BY 절은 ASC (오름차순) 또는 DESC (내림차순)를 사용하여 하나 이상의 열에 대해 정렬 순서를 지정할 수 있습니다.
SELECT * FROM Customers ORDER BY CustomerName ASC;
SUB QUERY
where 문 안에서 select로 한번더 물어보는 것입니다, ~와 같은 데이터 중에 ~한 데이터를 찾아라에서 ~과 같은 데이터를 서브 쿼리를 넣는 것입니다.
아래 예시에서는 IN 다음 쓰여 있습니다. 서브 쿼리는 다른 쿼리 내에 포함된 쿼리입니다. 주로 서브 쿼리는 WHERE, FROM, HAVING 절 내에서 사용되며, 주 쿼리의 결과에 따라 동적으로 서브 쿼리의 결과를 얻을 수 있습니다.
SELECT * FROM Orders WHERE CustomerID IN (SELECT CustomerID FROM Customers WHERE Country = 'USA');
JOIN
중복을 최소한 관계형 데이터베이스 정규화에서 나왔던 내용입니다. 두개의 테이블을 동시에 보기 위해 합치는 것입니다. JOIN은 두 개 이상의 테이블을 연결하여 연결된 열의 값을 기반으로 결과를 생성하는 데 사용됩니다. INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN 등 다양한 JOIN 유형이 있으며, 각각 다른 연결 방식을 제공합니다.
SELECT * FROM Orders WHERE CustomerID IN (SELECT CustomerID FROM Customers WHERE Country = 'USA');
SELF JOIN
하나의 테이블에 서로 연결될 수 있는 컬럼이 있을 때 사용합니다. SELF JOIN은 동일한 테이블을 사용하여 자체를 조인하는 것을 의미합니다. 일반적으로 테이블 내에서 부모-자식 관계 또는 상위-하위 관계와 같은 자기 참조 관계를 다룰 때 사용됩니다.
SELECT A.CustomerName AS Customer, B.CustomerName AS Referral
FROM Customers A, Customers B
WHERE A.ReferralID = B.CustomerID;
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 데이터 구축 용어 요약 스키마 (0) | 2023.07.16 |
---|---|
정처기 실기 필수 과목 SQL 요약 | DML | DDL | DCL (0) | 2023.07.16 |
[정보처리기사 실기] C언어 포인터 개념 잡기 | 예시 | 문제 | 활용 (0) | 2023.07.14 |
[정처기실기] 프로그램 언어활용 - JAVA 예제 풀기 (0) | 2023.07.12 |
[정치기 실기] 프로그램 활용 코드 예시 문제 | 반복문 | 재귀함수 | 정렬 알고리즘 (0) | 2023.07.11 |
댓글