프로그래밍 언어/SQL
-
[SQL] Sub Query프로그래밍 언어/SQL 2024. 10. 21. 17:37
1. 서브쿼리?2. 서브쿼리 문법3. 예제서브쿼리?하나의 SQL 쿼리 내에서 다른 쿼리를 포함하는 구조SELECT , UPDATE, DELTE 문에서 사용될 수 있다조건문에서 주로 사용됨서브쿼리는 단일행 / 다중행 서브쿼리가 있다단일행 : 하나의 값을 반환다중행 : 여러 값을 반환 서브쿼리 문법SELECT 서브쿼리SELECT [column1] FROM [table1] WHERE column1 = (SELECT [column2] FROM [table2] WHERE [조건]); INSERT 서브쿼리INSERT INTO [table1] [(column1)] SELECT [column2] FROM [table2] WHERE [조건]; UPDATE 서브쿼리UPDATE [table1] SET [column1] =..
-
[SQL] JOIN 정리프로그래밍 언어/SQL 2024. 10. 21. 17:37
1. Inner Join2. LEFT Join3. Right Join4. FULL Join5. Cross JoinInner Join두 테이블에서 일치하는 데이터만 반환inner를 생략하고, JOIN만 사용해도 됨SELECT [Columns] FROM [Table 1] Inner Join [Table 2] ON Table1.column = Table2.column;Left Join왼쪽 테이블(table1)의 모든 데이터와 오른쪽 테이블(table2)의 일치하는 데이터 반환SELECT [Columns] FROM [Table 1] Left Join [Table 2] ON Table1.column = Table2.column;Right Join오른쪽 테이블(table2)의 모든 데이터와 왼쪽 테이블(table1..
-
[SQL] 주요 연산자 (distinct,like,between,in,is null)프로그래밍 언어/SQL 2024. 10. 21. 16:44
1. DISTINCT2. LIKE3. BETWEEN4. IN5. IS NULL / IS NOT NULL DISTINCT중복된 값을 제거하고 고유한 값만 반환SELECT DISTINCT name FROM test; LIKE패턴 일치를 찾아서 반환p% : p로 시작%p : p로 끝나는 문자n__%: n?? 로 시작하는 문자%0 개 이상 일치(정확한 길이 모름)_1 개__2개_%1개 이상의 문자 (정확한 길이 모름)-- p로 시작하는 이름 조회SELECT name FROM test WHERE name LIKE 'p%'; BETWEEN두 값 사이에 해당하는 값 조회SELECT name, age, address, money FROM test where age BETWEEN 10 AND 20 ORDER BY age..
-
[SQL] WHERE, GROUP BY, HAVING, ORDER BY프로그래밍 언어/SQL 2024. 10. 21. 16:14
1. WHERE 절2. GROUP BY 절3. HAVING 절4. ORDER BY 절4. 예제 종합 WHERE 절데이터를 그룹화 하기전에, 조건에 맞는 행을 필터링select, update, delete 문에서 주로 사용집계함수 ( SUM, COUNT, AVG ) 와 함께 직접 사용 불가능 (그룹화 필요)-- 나이가 20살 이상 조회 --select * from member WHERE age > 20; GROUP BY 절특정 열(column)의 값을 기준으로 그룹화 진행집계함수 (SUM, COUNT, AVG) 함께 사용 가능집계함수로 설정된 열(column), 그룹화 된 column외의 직접 조회는 불가능하다단, ANY_VALUE() / 서브쿼리 등을 사용하여 우회가 가능하긴하다 -- group by 쿼..
-
[SQL] 집계함수, 스칼라함수프로그래밍 언어/SQL 2024. 10. 20. 16:05
1. 집계함수2. 스칼라 함수 집계함수집계함수는 한번에 모아서 처리하는 (집계) 역할이기에, 다른 column(열)과 함께 조회하려면 GROUP BY 절을 이용함수설명사용법Count레코드의 개수를 반환SELECT COUNT(*) from [테이블명] GROUP BY [다른 column(열)];Sum특정 열의 합계 계산SELECT SUM(num) FROM [테이블명] GROUP BY [다른 column(열)];Avg특정 열의 평균값SELECT AVG(num) FROM [테이블명] GROUP BY [다른 column(열)];Max특정 열의 최대 값SELECT MAX(num) FROM [테이블명] GROUP BY [다른 column(열)];Min특정 열의 최소 값SELECT Min(num) FROM [테이블명..
-
[SQL] VIEW프로그래밍 언어/SQL 2024. 10. 20. 15:29
1. view 란?2. view 사용 이유3. view 사용법 VIEW 란?데이터베이스에 존재하는 가상의 테이블을 말함테이블의 정보를 보여주는 역할만 한다. (view 정의 변경 불가능, 원본 테이블 삭제시 같이 삭제)view를 통한 갱신을 할경우, 복잡한 제약이 있음 (왠만하면 원본테이블에서 수정)데이터를 따로 저장하지 않고, view가 바라보고 있는 테이블의 정보를 보여주는 역할기존 테이블의 정보가 수정되면, view 도 같이 반영됨 VIEW 사용 이유테이블의 내용중에 보여주고 싶은 데이터만 보여주기 위해 사용 (접근제어 활용)실제 데이터를 포함하지 않으므로, 저장공간을 효율적으로 사용 가능view 테이블을 복잡한 쿼리로 표현할경우, 나중에 조회시 편리하게 조회 가능 VIEW 사용법CREATE TAB..
-
[SQL] 인덱스프로그래밍 언어/SQL 2024. 10. 20. 15:09
1. 인덱스 사용이유2. 인덱스 주의할점3. 인덱스 예시 인덱스 사용이유DB의 경우, 데이터를 저장할 때에 순서없이 저장하는 기능을 한다DB는 원하는 결과가 있을시에, Full Scan을 통해서 데이터를 읽어온다인덱스는 Select 조회시, 빠른 결과를 얻기 위해서 사용한다 인덱스 주의할점인덱스는 테이블에서 색인이 필요한 열(column)을 저장하기 위해서 따로 파일로 저장아무리 적은 데이터 양이라도, 인덱스가 쌓이다 보면 DB 저장 공간이 줄어든다빈번하게 데이터값이 수정되고 변경되는 경우, 인덱스 파일 또한 수정되어야하기에 DB성능에 좋지않은 영향을 미친다INSERT / UPDATE / DELETE 사용시 주의데이터 중복도가 높은 열(column)의 경우 인덱스의 효용이 없다 (예: 성별, 타입이 별..
-
[SQL] 데이터 타입프로그래밍 언어/SQL 2024. 10. 18. 23:15
1. 문자열 데이터 타입2. 숫자 데이터 타입3. 날짜 및 시간 데이터 타입4. 논리 데이터 타입5. 이진 데이터 타입6. 기타 데이터 타입 문자열 데이터 타입형태설명사용 예CHAR(n)고정 길이 문자열CHAR(10)VARCHAR(n)가변 길이 문자열VARCHAR(255)TEXT매우 긴 텍스트 데이터TEXT Create Table example_table( username VARCHAR(50) NOT NULL, password CHAR(64) NOT NULL, detail_text TEXT); 숫자 데이터 타입형태설명사용 예INT정수 값 저장INTBIGINT더 큰 정수 값 (큰 수)BIGINTDECIMAL정밀한 소수 저장DECIMAL(10,2) // 소수점 포함 10자리 (소수점 이..