일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 서버에도커설치
- 스프링부트서버에사진전송
- ssh도커설치
- 스프링부트팔로잉
- 스프링부트api
- 우분투도커설치
- 스프링부트팔로우취소
- 인스타클론
- 스프링사진
- 출처 문어박사
- dockerinstall
- 출처 메타코딩
- 스프링익셉션처리
- 출처 따배도
- 스프링이미지업로드
- 스프링부트구독취소
- 파이썬sort
- vm도커설치하는법
- 스프링사진업로드
- 스프링부트
- 스프링부트중복예외처리
- 출처 노마드코더
- springboot_exception_handler
- 스프링부트사진올리기
- 출처 코딩셰프
- 스프링구독
- WAS웹서버
- 도커설치하는법
- centos도커설치
- 멀티폼
- Today
- Total
MakerHyeon
[SQL Tutorial] SQL 기본명령어-4 본문
[SQL Tutorial] SQL 기본명령어-4
● 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);
● HAVING
- WHERE 절에서는 집계함수를 사용 할 수 없기때문에, HAVING 절은 집계함수를 가지고 조건비교를 할 때 사용
- HAVING절은 GROUP BY절과 함께 사용됨
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
● EXISTS
- 연산자 EXISTS는 하위 쿼리에 레코드가 있는지 테스트하는 데 사용됨
- EXISTS 하위 쿼리가 하나 이상의 레코드를 반환하면 연산자는 TRUE를 반환
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
● ANY
- 결과로 부울 값을 반환
- 하위 쿼리 값 중 하나라도 조건을 충족하면 TRUE를 반환
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name
FROM table_name
WHERE condition);
● ALL
- 결과로 부울 값을 반환합니다.
- 모든 하위 쿼리 값이 조건을 충족하면 TRUE를 반환
- SELECT, WHERE및 HAVING문과 함께 사용
SELECT ALL column_name(s)
FROM table_name
WHERE condition;
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name
FROM table_name
WHERE condition);
● SELECT INTO
- 한 테이블의 데이터를 새 테이블로 복사
SELECT column1, column2, column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;
● INSERT INTO SELECT
- 한 테이블에서 데이터를 복사하여 다른 테이블에 삽입
- 이때, 소스 및 대상 테이블의 데이터 유형이 일치해야 함
- 대상 테이블의 기존 레코드는 영향을 받지 않음.
!-- 한 테이블의 모든 열을 다른 테이블로 복사
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
!-- 한 테이블에서 다른 테이블로 일부 열만 복사
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
● CASE
- 조건을 통과하고 첫 번째 조건이 충족되면 값을 반환합니다(예: if-then-else 문)
- 조건이 참이면 읽기를 중지하고 결과를 반환합니다. 참인 조건이 없으면 절의 값을 반환 ELSE
- 부분이 없고 ELSE조건이 참이면 NULL을 반환
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
● NULL
- IFNULL() or COALESCE(): 표현식이 NULL인 경우 대체 값을 반환
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;
● STORE PROCEDURE
- 저장할 수 있는 준비된 SQL 코드로, 코드를 반복해서 재사용할 수 있음
- 반복해서 작성하는 SQL 쿼리가 있는 경우, 저장 프로시저로 저장한 다음 호출하여 실행하면 됨
- 저장 프로시저가 전달된 매개 변수 값에 따라 작동할 수 있도록 매개 변수를 저장 프로시저에 전달할 수도 있음
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
EXEC procedure_name;
- EXAMPLE
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
위의 저장 프로시저를 다음과 같이 실행
EXEC SelectAllCustomers;
● SQL OPERATER 는 아래를 참고
https://www.w3schools.com/sql/sql_operators.asp
SQL Operators
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'MySQL' 카테고리의 다른 글
[SQL Tutorial] SQL 기본명령어-3 (0) | 2023.05.17 |
---|---|
[SQL Tutorial] SQL 기본명령어-2 (0) | 2023.05.09 |
[SQL Tutorial] SQL 기본명령어-1 (0) | 2023.05.04 |