SQL - Variables, Functions
·
Data Analyst/SQL
변수와 매개변수 (Variables and Parameters)​프로그램을 정의할 때 매개변수(Parameter)를 사용하여 입력값을 처리하고, 그 결과를 변수(Variable)에 저장할 수 있습니다. MySQL의 저장 프로시저에서 IN, OUT 또는 IN-OUT 매개변수를 사용할 수 있으며, 이러한 매개변수를 통해 값을 입력하고 결과를 반환할 수 있습니다.# 변수v_avg_salary 설정set @v_avg_salary = 0;# 프로시저 호출(11300) 및 변수(@v_avg_salary)에 저장call employees.emp_avg_salary_out(11300, @v_avg_salary);# 변수 값 출력select @v_avg_salary;위의 방법을 사용하여 변수를 만들고 해당 프로시저의 연..
SQL - Routine, Stored Procedure
·
Data Analyst/SQL
Introduction to Stored Routines저장 루틴 개요:저장 프로시저와 함수는 SQL 명령어 집합을 서버에 저장하여 필요할 때 호출할 수 있는 기능입니다. 이는 반복적인 작업을 자동화할 때 유용합니다​.저장 프로시저는 계산을 수행하고 데이터를 처리하여 결과를 반환합니다.주요 특징:프로시저는 여러 번 호출 가능.(반복작업 최소화)예시 : 사용자가 100명 이상 DB에 동일한 쿼리를 실행하는 경우, 효율적인 방법으로 저장 프로시저를 사용하는 것이 좋습니다. 이를 통해 쿼리 로직을 데이터베이스 내에 미리 저장해두고, 사용자들은 프로시저만 호출함으로써 성능을 최적화할 수 있습니다.입력 매개변수를 받아 계산을 수행할 수 있음.파라미터(매개변수)를 사용하여 작업을 할 수 있습니다. 코딩에서 inpu..
SQL - SELF JOIN, VIEW
·
Data Analyst/SQL
SELF JOIN- 셀프 조인이란 하나의 테이블을 스스로와 조인하는 것을 말합니다. 즉, 같은 테이블의 여러 행을 서로 결합할 때 사용됩니다.- 셀프 조인을 사용하면 테이블의 특정 행을 동일한 테이블 내 다른 행과 결합할 수 있습니다.- INNER JOIN 구문을 사용하여 셀프 조인을 할 때, 테이블을 마치 두 개의 서로 다른 테이블처럼 취급합니다. 이를 위해 별칭(Alias)을 사용하여 테이블의 두 개 버전을 구분합니다.- 셀프 조인은 특히 계층적 관계나 같은 테이블 내에서의 상하 관계를 표현할 때 유용합니다.예시 :- 한 회사의 직원 테이블이 있다고 가정해봅시다.- 이 테이블은 각 직원의 이름과 상사(매니저)에 대한 정보를 포함하고 있습니다. 그런데 이 매니저도 같은 테이블에 포함된 또 다른 직원입니..
SQL - SubQuery
·
Data Analyst/SQL
WHERE 절에 중첩된 SQL 서브쿼리 (IN 절 사용)- 우선 서브쿼리란 다른 쿼리 안에 포함된 쿼리를 의미합니다. 이를 내부 쿼리 또는 중첩  쿼리라고도 합니다.- 이러한 서브쿼리는 WHERE 절 안에 중첩되어 사용되며, 주로 특정 조건에 맞는 데이터를 선택할 수 있습니다.- IN 절과 함께 사용하면, 내부 쿼리에서 반환된 값 중 하나라도 일치하는 경우 해당 데이터를 선택할 수 있습니다.- 서브 쿼리는 하나의 값, 하나의 행, 하나의 열 또는 전체 테이블을 반환할 수 있습니다.- 여러 서브쿼리를 종첩하여 사용할 수 있으며, SQL엔진은 가장 내부의 쿼리부터 차례대로 실행 합니다.-- 매니저의 e.first_name, e.last_name알기 위해서 subquery로 dept_manager의 emp_n..
SQL - 여러 테이블 JOIN, SQL JOIN 사용 시 유용한 팁, UNION, UNION ALL
·
Data Analyst/SQL
여러 테이블 JOIN- SQL에서 두 개 이상의 테이블을 JOIN할 때는 테이블 간의 관계를 명확히 이해하는 것이 중요합니다.- 여러 테이블을 JOIN하는 과정은 직관과 명확한 연결 방식이 필요합니다. 여러 테이블 JOIN의 단계여러 테이블을 JOIN할 때는 단계적으로 접근하는 것이 좋습니다:첫 번째 단계: 두 개의 테이블을 기본적으로 JOIN합니다.두 번째 단계: 첫 번째 JOIN의 결과를 다른 테이블과 다시 JOIN합니다.세 번째 단계 이후: 동일한 방식으로 추가적인 테이블을 계속 JOIN합니다.이 과정에서 각 테이블의 공통 열을 기준으로 JOIN 조건을 설정해야 하며, JOIN 방식은 INNER JOIN, LEFT JOIN, RIGHT JOIN 등 상황에 맞게 선택할 수 있습니다./* 3개의 테이블..
SQL - RIGHT JOIN, SQL 조인 구문: 새로운 방식과 오래된 방식, CROSS JOIN
·
Data Analyst/SQL
RIGHT JOIN- 오른쪽 테이블의 모든 레코드를 포함하며, 왼쪽 테이블에서 일치하는 레코드가 있으면 이를 결합합니다.- 실제로 RIGHT JOIN은 LEFT JOIN과 테이블 순서만 바꿔서 사용할 수 있습니다. 결과는 동일하지만, 조인 방향이 반대가 됩니다SELECT d.dept_no, m.emp_no, d.dept_nameFROM dept_manager_dup m RIGHT JOIN departments_dup d ON m.dept_no = d.dept_noORDER BY dept_no;SQL 조인 구문: 새로운 방식과 오래된 방식오래된 조인 구문에서는 WHERE 절을 사용하여 테이블을 결합합니다SELECT t1.column_name, t2.column_nameFROM..
SQL - INNER JOIN, DUPLICATED, LEFT JOIN
·
Data Analyst/SQL
INNER JOIN- INNER JOIN은 두 테이블 간의 공통된 값을 가진 레코드만을 결합하여 결과로 반환합니다.- 이 조인 방식에서는 두 테이블에 모두 존재하는 레코드만 결과에 포함되며, 어느 한 테이블에만 존재하는 값은 결과에 포함되지 않습니다 - 벤 다이어그램을 생각 하면 교집합과 같다 보시면 될 거 같습니다./*dept_manager_dup와 departments_dup 에서의 dept_no가 설정된 관리자 데이터를 추출하는 쿼리입니다.예를 들어 departments_dup에서 dept_no ='d002'가 없고 dept_manager_dup에는 있다면 해당 데이터는 추출하지 안습니다.*/SELECT m.dept_no, m.emp_no, d.dept_nameFROM dept_mana..
SQL - DELETE, TRUNCATE, Aggregate functions(집계함수), IFNULL - COALESCE
·
Data Analyst/SQL
DELETE- 데이터베이스에서 특정 조건에 맞는 데이터를 삭제하는 데 사용됩니다.-- 해당 쿼리는 emp_no가 999903인 데이터를 지웁니다.DELETE FROM employees WHERE emp_no = 999903;- 주의사항 : where절을 넣지 않으면 해당 테이블의 모든 데이터가 삭제됩니다.DROP vs TRUNCATE vs DELETE: 차이점1. DROPDROP 명령어는 테이블 자체를 삭제 특징: 테이블의 모든 데이터와 구조가 제거됨.사용 예시: DROP TABLE table_name;주의사항: 롤백 불가. 테이블이 완전히 삭제되므로 신중하게 사용해야 함.2. TRUNCATETRUNCATE 명령어는 테이블의 모든 데이터를 삭제하지만, 테이블 구조와 인덱스, 제약 조건은 그대로 유지..
SQL - The INSERT Statement, The UPDATE Statement, COMMIT and ROLLBACK
·
Data Analyst/SQL
The INSERT Statement (데이터 삽입)INSERT 문법: 데이터를 테이블에 삽입하기 위해 사용됩니다.-- 사용 방법INSERT INTO table_name (column_1, column_2, …, column_n)VALUES (value_1, value_2, …, value_n);/*column들의 순서와 value값들의 순서는 서로 일치해야한다!!*/insert into employees( emp_no, birth_date, first_name, last_name, gender, hire_date) values( 999901, -- 정수형 또한 따옴표 안에 작성은 가능하나 좋은 방법은 아니다. '1986-04-21', 'John', 'Smith..
SQL - SELECT, WHERE, AND, OR, IN-NOT IN
·
Data Analyst/SQL
SQL - SELECT 문SELECT 문은 SQL에서 데이터를 조회할 때 사용되는 가장 기본적인 명령어입니다. 데이터베이스 테이블에서 원하는 데이터를 선택하고 추출하는 역할을 합니다.또한, * 문자를 사용하여 테이블의 모든 열을 선택할 수도 있습니다. 사용 예시-- employees 테이블에서 first_name과 last_name 열의 데이터를 모두 가져옵니다.SELECT first_name, last_nameFROM employees;--employees 테이블의 모든 열과 데이터를 반환합니다.SELECT * FROM employees; SQL - WHERE 절WHERE 절은 SELECT 문과 함께 사용되어 데이터를 필터링하는 역할을 합니다. 이를 통해 조건에 맞는 특정 데이터만 선택할 수 있습니다...
hmm06
'SQL' 태그의 글 목록 (4 Page)