본문 바로가기
728x90

넓고 얕은 데이터베이스 지식/SQL23

SQL - GROUP BY, HAVING GROUP BY 문 국가별, 지역별 등 동일한 값을 가진 행을 그룹화한다. 종종 집계 함수(COUNT(), MAX(), MIN(), SUM(), AVG())와 함께 사용되어 결과 집합을 하나 이상의 열로 그룹화한다. SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s); -- 각 국가의 고객 수를 나열 SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country; HAVING 절 WHERE 키워드는 집계 함수에 사용될 수 없기 때문에 SQL에 추가되었다. SELECT column_name(s) FROM table_name.. 2023. 4. 28.
SQL - UNION UNION 연산자 둘 이상의 SELECT 명령문의 결과 집합을 결합하는 데 사용한다. UNION 안에 있는 모든 SELECT 문은 반드시 같은 수의 열을 가져야 한다. 또한 같은 타입의 열이어야 한다. 모든 SELECT 문의 열은 반드시 동일한 순서여야 한다. SELECT column_name(s) FROM table1 UNION -- 중복 허용 X SELECT column_name(s) FROM table2; SELECT column_name(s) FROM table1 UNION ALL -- 중복 허용 O SELECT column_name(s) FROM table2; 2023. 4. 27.
SQL - JOIN(INNER, LEFT RIGHT OUTER, FULL) JOIN 두 개 이상의 테이블 사이에 관련된 열을 기반으로 행을 결합하는 데 사용한다. Orders OrderID CustomerID OrderDate 10308 2 1996-09-18 10309 37 1996-09-19 10310 77 1996-09-20 Customers CustomerID ustomerName ContactName Country 1 Alfreds Futterkiste Maria Anders Germany 2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico 3 Antonio Moreno Taquería Antonio Moreno Mexico "Orders" 테이블의 "CustomerID" 열은 "Customers" 텡블의 "Custom.. 2023. 4. 27.
SQL - BETWEEN BETWEEN 연산자 주어진 범위 내에서 값을 선택한다. 값은 숫자, 텍스트, 날짜 등 다양하다. 포괄적이므로 시작 값과 끝 값이 포함된다. SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; -- ex) 가격이 10 이상 20 이하인 모든 제품 SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; -- ex) NOT BETWEEN SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; 2023. 4. 27.
SQL - IN IN 연산자 WHERE 절 안에 여러 값을 지정할 수 있다. SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); -- SELECT 문 삽입 가능 SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT); -- ex) SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers); SELECT * FROM Customers WHERE Country NOT IN ('Germany', 'France', 'UK'); 2023. 4. 27.
SQL - LIKE LIKE 연산자 열에서 지정된 패턴을 검색하기위해 사용한다. 함께 사용되는 두 가지 와일드 카드가 있다. 퍼센트 기호( % )는 0~ N개의 문자를 나타낸다. ex) 'a%' -> 'a' or 'ab' or 'abc' O 밑줄 기호( _ )은 하나의 단일 문자를 나타낸다. ex) 'a_' -> 'ab' O, 'a' or 'abc' X -- a로 시작하는 모든 고객 SELECT * FROM Customers WHERE CustomerName LIKE 'a%'; -- '%or%' 이름에 or이 들어간 모든 고객 -- '_r%' 두번째 위치에 r이 들어간 모든 고객 -- 'a__%' a로 시작하고 3 글자 이상인 모든 고객 -- 'a%o' a로 시작하고 o로 끝나는 모든 고객 -- a로 시작하지 않는 모든 고.. 2023. 4. 27.
SQL - 자주 쓰는 함수 정리 MIN() 함수 선택한 열의 가장 작은 값을 반환한다. SELECT MIN(column_name) FROM table_name WHERE condition; MAX() 함수 선택한 열의 가장 큰 값을 반환한다. SELECT MAX(column_name) FROM table_name WHERE condition; COUNT() 함수 지정된 기준과 일치하는 행의 수를 반환한다. SELECT COUNT(column_name) FROM table_name WHERE condition; AVG() 함수 열의 평균 값을 반환한다. SELECT AVG(column_name) FROM table_name WHERE condition; SUM() 함수 열의 총 합계를 반환한다. SELECT SUM(column_name).. 2023. 4. 27.
SQL - Aliases SQL Aliases(별칭) 테이블 또는 테이블의 열에 임시 이름을 지정하는 데 사용한다. 종종 열 이름을 더 읽기 쉽게 만드는 게 사용한다. 해당 쿼리 기간 동안에만 존재한다. AS라는 키워드로 생성된다. -- column애 대한 별칭 SELECT column_name AS alias_name FROM table_name; -- 테이블에 대한 별칭 SELECT column_name(s) FROM table_name AS alias_name; -- 별칭에 공백이 포함되면 대괄호로 묶어야 한다. SELECT CustomerName AS Customer, ContactName AS [Contact Person] FROM Customers; 2023. 4. 27.
728x90