목록DATABASE/SQL 입문 (9)
노승현
여러 개의 SELECT 문 결과를 합치기 위해서는 UNION, UNION ALL을 사용하면 된다.UNION을 사용할 경우 합쳐진 결과에서 중복을 제거한 결과를 반환하고UNION ALL을 사용하면 중복을 제거하지 않고 합쳐진 결과를 그대로 반환한다.UNION ALL이 중복을 제거하지 않으므로 UNION 보다 속도가 빠르다. UNION : 각 쿼리의 결과 합을 반환하는 합집합 (중복제거)UNION ALL : 각 쿼리의 모든 결과를 포함한 합집합 (중복제거 안함)중복을 제거하지 않으므로 UNION 보다 속도가 빠르다. MySQL 내부적으로 UNION ALL과 UNION을 처리하는 과정1. 최종 UNION [ALL / DISTINCT ] 결과에 적합한 임시 테이블을 메모리 테이블로 생성2. UNION 또는 U..
조건에 맞는 데이터 개수 세기 : COUNT, COUNT_BIG 함수 COUNT 함수가 반환하는 값은 INT 범위이고 COUNT_BIG 함수가반환하는 값은 BIGINT 범위이므로, 만약 데이터 개수가 21억개를 초과할 것으로 예상된다면 COUNT_BIG 함수를 사용한다. SELECT COUNT(column_name) FROM 테이블명 데이터 합 구하기 : SUM 함수 SUM 함수는 모든 행의 값을 합하지만, DISTINCT 문을 조합해 중복값을 무시하고 고유값에만 SUM 함수를 적용할 수도 있다. SELECT SUM (column_name) FROM 테이블명 입력 자료형 반환 자료형 tinyint int smallint int int int bigint bigint decimal(p,s) decimal(..
1. 서버의 현재 날짜, 시간 반환하기 : GETDATE, SYSDATETIME 현재 접속 중인 데이터베이스 서버의 시간을 확인하려면 GETGATE 함수 또는 SYSDATETIME 함수를 사용한다. 두 함수의 차이점은 GETDATE 함수는 소수점 3자리까지, SYSDATETIME 함수는 소수점 7자리까지 시간을 표현한다는 점이다. 2. 서버의 현재 UTC 날짜, 시간 반환하기 : GETUTCDATE, SYSUTCDATETIME 함수 현재 접속한 데이터베이스 서버의 협정 세계시, 즉 UTC 사긴을 확인하려면 GETUTCDATE 함수나 SYSUTCDATETIME 함수를 사용한다. 3. 날짜 더하기 : DATEADD 함수 날짜를 더하거나 뺴려면 DATEADD 함수를 사용한다. DATEADD 함수는 다음과 같이..
1.CONCAT() 또는 || 연산자: CONCAT() 함수 또는 || 연산자는 두 개 이상의 문자열을 결합하는 데 사용됩니다. 이 함수는 주로 이름과 성을 합칠 때나 여러 열의 값을 결합할 때 유용합니다. SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; 또는 SELECT first_name || ' ' || last_name AS full_name FROM employees; 2. LENGTH() 또는 LEN(): LENGTH() 함수는 문자열의 길이를 반환합니다. 이를 통해 특정 필드의 데이터 양을 확인할 수 있습니다. SELECT LENGTH(name) AS name_length FROM products; 또는 SELEC..
테이블을 2개 이상 조인한다는 의미? SQL 데이터베이스에서 조인은 두 개 이상의 테이블 간에 관련된 데이터를 결합하는 데 사용되는 중요한 기능입니다. 조인을 사용하면 데이터베이스에서 하나의 쿼리로 여러 테이블의 정보를 검색할 수 있습니다. 주로 관계형 데이터베이스에서 사용되며, 테이블 간의 관계를 나타내는 외래 키(Foreign Key)를 기반으로 동작합니다. 내부조인의 기본 형식 SELECT [열 이름] FROM [테이블 1] INNER JOIN [테이블2] ON [테이블 1.열] = [테이블 2.열] WHERE [검색 조건] INNER JOIN (내부 조인): 이는 조인 조건에 부합하는 행만 반환합니다. 즉, 두 테이블 간의 공통된 값이 있는 행만을 결합합니다. ON 문과 WHERE 문의 차이 두 ..
숫자형 알아보기 자료형 데이터 크기(byte) 숫자 범위 설명 bit 1 0,1,NULL 불리언 형식으로 참 또는 거짓으로 사용 tinyint 1 0~255 정수 데이터를 사용하는 정확한 숫자 자료형으로 숫자를 저장할 때 가장 많이 사용 smallint 2 -32,768~32,767 int 4 -2^31(약 -21억)~ 2^31-1(약 21 억) big 8 -2^63~2^63-1 decimal(p,s) 5~17 -10^38+1~10^38-1 전체 자릿수와 소수 자릿수가 고정된 숫자로, 최대 38자리 사용 numberic(p,s) 5~17 -10^38+1~10^38-1 float(n) 4~8 -1.79E+308~1.79E+308 real 4 -3.40E+38~3.40E+38 부동 소수저 숫자 데이터에 사용..
데이터베이스를 생성하는 CREATE 문의 기본 형식 CREATE DATABASE [데이터베이스 이름]( 열1 자료형, 열2 자료형, 열3 자료형, ... ) DROP 문으로 데이터베이스 삭제하기 DROP TABLE [테이블명] 데이터베이스를 삭제하려면 DROP 문을 사용한다. 쿼리가 잘 실행되면 개체 탐색기에서 데이터 베이스가 사라진다. 테이블에 데이터 삽입, 수정, 삭제하기 INSERT INTO 테이블 [열1, 열2, ...] VALUES [값1, 값2, ...] 첫번째는 테이블에 데이터를 삽입할 때 열 이름을 생략할 수 있다. 하지만 열 이름을 생략하려면 VALUES 문 뒤에 테이블의 열 순서와 개수에 맞춰 데이터를 채워야 한다. * NULL 을 허용하지 않도록 테이블을 생성하려면? CREATE TA..
SELECT 문의 기본 형식 SELECT [열] FROM [테이블명] SELECT : 데이터를 검색하는 구문이다. [열] : 검색하려는 데이터의 열을 입력한다. 여러 열을 검색할 때는 쉼표로 구분해 연결한다. 열 이름 대신 * 를 입력하면 테이블의 전체 열을 검색한다. FROM : 데이터를 가져올 테이블을 정하는 구문이다. [테이블] : 데이터가 저장된 테이블 이름을 입력한다. 여러 개의 열 검색하기 SELECT [열],[열] FROM [테이블명] 2개의 열을 검색하기 위해 검색할 열 이름을 쉼표로 구분해 나열한다. 전체 열 검색하기 전체 열을 검색하려면 열 이름을 모두 입력하는 대신 * 기호를 사용한다. 물론 쉼표로 구분해 모든 열을 입력해도 되지만 오타를 방지하려면 * 기호 사용을 추천한다. ※ 전체..