일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 문법 차이
- 코드 스니펫
- Oracle
- 비절차적 데이터 조작어
- Node.js
- coalesce
- 자료구조
- list multiplication
- JavaScript
- SQLD
- dom
- SQL
- MYSQL
- dense rank
- simple case expression
- ROLLUP
- 기업 협업
- 정보처리기사
- window 함수
- sql 저장 모듈
- execute immediate
- GROUPING
- 위코드
- git
- 뷰
- python
- 정규식 연산
- html
- searched case expression
- show graph characteristics
- Today
- Total
목록SQL (20)
프로그래밍 숲
SQL의 'HAVING' 절은 그룹화된 결과에 적용되는 조건을 기반으로 쿼리에서 데이터를 필터링하고 검색하는 데 사용됩니다. 일반적으로 GROUP BY 절과 함께 사용됩니다. 하지만 GROUP BY 및 집계함수를 사용하지 않고 HAVING 절을 사용하였다고 하여 SQL 문장이 오류가 발생하지는 않습니다. HAVING 절을 이해하기 위해 "Orders"라는 가상의 데이터베이스 테이블을 예로 들어 보겠습니다. 이 테이블에는 고객 ID, 주문 금액, 주문 날짜 등 고객이 주문한 다양한 주문에 대한 정보가 포함되어 있습니다. 각 고객의 총 주문 금액 중 총 주문 금액이 특정 값(예: $1000)을 초과하는 고객만 필터링하는 것으로 가정해봅시다. HAVING 절을 사용하여 조건을 만족시키는 데이터만 필터링할 수 ..
서브쿼리를 동작하는 방식에 따라 분류하면 다음과 같이 분류할 수 있습니다. 비연관 서브쿼리(Un-Correlated 서브쿼리) 비연관 서브쿼리는 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않은 형태의 서브쿼리를 말합니다. 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용됩니다. SELECT name FROM customers WHERE age > ( SELECT AVG(age) FROM customers ); (SELECT AVG(age) FROM customers) 같은 서브쿼리는 독립적으로 실행될 수 있습니다. 연관 서브쿼리(Correlated 서브쿼리) 연관 서브쿼리는 서브쿼리가 메인쿼리 칼럼을 가지고 있는 형태의 서브쿼리를 말합니다. 일반적으로 메인쿼리가 먼저 수행되어 읽힌 ..
전체 SQL문 SELECT e.employee_number, e.employee_name, d.department_number, d.department_name, ( SELECT COUNT(*) FROM Dependents d WHERE d.employee_number = e.employee_number ) AS number_of_dependents FROM departments d, ( SELECT * FROM employees WHERE Entered_year = '2015' ) e WHERE d.department_number = e.department_number AND EXISTS ( SELECT 1 FROM temples t WHERE t.department_number = d.departme..
데이터베이스에서 데이터를 조작하는 데 사용되는 두 가지 기본적인 접근 방식에는 비절차적 데이터 조작어(Non-Procedural DML)와 절차적 데이터 조작어(Procedural DML)가 있습니다. 비절차적 데이터 조작어와 절차적 데이터 조작어 1. 비절차적 데이터 조작어 (Non-Procedural DML): SQL(Structured Query Language)와 같은 비절차적 언어는 "무엇을" 찾을지에 대해 정의하는 데 초점을 맞춥니다. 사용자가 원하는 데이터를 지정하면, 데이터베이스 시스템이 그 데이터를 찾는 방법을 결정합니다. 예를 들어, SQL 쿼리는 특정 조건을 충족하는 행을 찾는 데 사용될 수 있지만, 그 행을 어떻게 찾을지는 데이터베이스 관리 시스템(DBMS)에 의해 결정됩니다. 2...
SQL에서 단일 행 함수와 다중 행 함수는 데이터베이스의 데이터에 대한 계산 또는 조작을 수행하는 데 사용할 수 있는 두 가지 유형의 함수입니다. 다음은 예와 함께 각 유형에 대한 설명입니다. 단일 행 함수 단일 행 함수는 한 번에 데이터의 단일 행에서 작동하고 각 행에 대해 단일 결과를 반환합니다. 이러한 함수는 일반적으로 행 내의 개별 값을 수정하거나 변환하는 데 사용됩니다. UPPER() 함수: 문자열을 대문자로 변환합니다. 예를 들어 SELECT UPPER('hello')는 'HELLO'를 반환합니다. LOWER() 함수: 문자열을 소문자로 변환합니다. 예를 들어 SELECT LOWER('WORLD')는 'world'를 반환합니다. LENGTH() 함수: 문자열의 길이를 반환합니다. 예를 들어 S..
ANSI 표준 ANSI 표준이란? ANSI (American National Standards Institute) 표준은 SQL (Structured Query Language)에 대한 표준화된 규격을 정의한 것입니다. ANSI SQL은 데이터베이스 시스템 간에 호환성을 제공하고 일관된 방식으로 SQL을 사용할 수 있도록 합니다. ANSI SQL은 여러 버전이 존재하며, 가장 널리 사용되는 버전은 ANSI SQL-92, ANSI SQL-99, ANSI SQL-2003, ANSI SQL-2008, ANSI SQL-2011 등이 있습니다. 각 버전은 특정 시기에 도입된 새로운 기능과 개선사항을 포함하고 있습니다. 예를 들어, ANSI SQL-92는 다양한 표준 함수와 집계 함수, 조인 유형 등을 정의하였고,..
SQL에서 VARCHAR 및 VARCHAR2는 모두 문자열 데이터 유형을 정의하는 데 사용됩니다. 그러나 사용 중인 특정 데이터베이스 시스템에 따라 출처와 동작 측면에서 약간의 차이가 있습니다. VARCHAR VARCHAR는 "가변 길이 문자열"을 의미합니다. 원래 SQL-92 표준에 도입되었습니다. MySQL과 같은 일부 데이터베이스 시스템에서 VARCHAR는 지정된 길이가 작은 경우 고정 길이 문자열로 구현됩니다. 지정된 길이까지 문자 데이터를 저장하지만, 실제 데이터의 길이를 저장하기 위해 여분의 바이트를 사용할 수 있습니다. VARCHAR 컬럼에 데이터를 삽입하면 삽입된 값의 길이에 따라 필요한 만큼의 스토리지만 사용합니다. VARCHAR2 VARCHAR2는 Oracle 데이터베이스 고유의 데이터..
SELECT m.MemberID, m.MemberName, m.Email FROM Member m WHERE EXISTS ( SELECT 'x' FROM Event e INNER JOIN SendMail sm ON e.EventID = sm.EventID WHERE e.StartDate >= '2014-10-01' AND m.MemberID = sm.MemberID GROUP BY e.EventID HAVING COUNT(*) = '2014-10-01' ) ) 위 SQL문은 이벤트 시작일자가 '2014.10.01.'과 같거나 큰 이벤트를 기준으로 단 한차례라도 이메일 발송이 누락된 멤버를 추출하는 SQL 문장입니다. H..
체크 제약조건(Check Constraint) 정의 체크 제약조건은 테이브에 저장된 데이터의 무결성과 유효성을 보정하는 제약 조건 중 하나입니다. 특정 열 또는 열 집합에 삽입되어 업데이트 되는 모든 데이터에 대해 충족되어야 하는 조건을 정의합니다. 예시로 바로 확인해보도록 하겠습니다. 예시 나이와 국가를 포함한 고객 정보를 저장하는 "CUSTOMERS"라는 테이블이 있다고 가정합니다. 검사 제약 조건을 사용하여 이 테이블에 삽입되거나 업데이트되는 데이터에 대해 특정 규칙을 적용하려고 합니다. 1. 연령 제한 "AGE" 열에 확인 제한을 정의하여 고객의 연령이 18세에서 100세 사이여야 한다는 것을 확인할 수 있습니다. 이 제약 조건은 유효하지 않은 연령 값의 삽입을 방지합니다. CREATE TABLE..
데이터 제어어(DCL, Data Control Language) SQL에서 데이터 제어어는 데이터베이스의 액세스 권한과 보안을 제어하는 데 사용됩니다. DCL 명령은 GRANT 및 REVOKE 등의 유형이 있습니다. 그 중 GRANT와 REVOKE 명령어에 대해서 알아보겠습니다. GRANT 'GRANT'는 사용자에게 데이터베이스, 테이블 또는 뷰에 대한 다양한 권한을 부여합니다. 예시 'SalesDB'라는 데이터베이스와 'John'이라는 사용자가 있다고 가정해 보겠습니다. 'SalesDB'의 'Customers' 테이블에서 SELECT, INSERT 및 DELETE 데이터에 대해 'John'에게 권한을 부여하려고 합니다. GRANT SELECT, INSERT, DELETE ON SalesDB.Cust..