프로그래밍 언어

    [SQL] GROUP BY 절 사용법 (그룹별 집계)

    SQL Server에서 GROUP BY 절은 특정 칼럼을 기준으로 집계 함수를 사용하여 건수(COUNT), 합계(SUM), 평균(AVG) 등 집 계성 데이터를 추출할 때 사용한다. GROUP BY 절에서 기준 칼럼을 여러 개 지정할 수 있으며, HAVING 절을 함께 사용하면 집계 함수를 사용하여 WHERE 절의 조건절처럼 조건을 부여할 수 있다. GROUP BY 절은 중복제거를 할 때도 사용 가능하다. SQL Server에서는 GROUP BY 절을 사용할 경우 그룹 칼럼을 기준으로 자동으로 ORDER BY가 되지만 명시적으로 ORDER BY를 사용하여 쿼리문을 작성하는 것이 좋다.기본적인 GROUP BY 절 사용법직업(job) 별로 급여(sal) 총합계를 구하는 예제이다.GROUP BY 절의 칼럼은 S..

    [SQL] INSERT 문 사용법 3가지 (데이터 입력)

    SQL Server에서 데이터를 입력하기 위해서는 INSERT 문을 사용한다. SQL Server 2008부터 여러 행을 입력할 수 있는 기능이 추가되었으며, SELECT 해서 INSERT 하는 방법으로도 여러 건의 데이터를 입력할 수 있다. INSERT와 UPDATE를 동시에 수행하기 위해서는 MERGE 문을 사용하거나 프로시저를 생성하여 사용하면 된다.기본적인 INSERT 방법INSERT INTO [테이블명] ([칼럼1], [칼럼2], [칼럼3] ...) VALUES ([값1], [값2], [값3] ...)입력할 칼럼의 개수와 값을 개수를 동일하게 입력하면 된다. INSERT INTO dbo.dept(deptno, dname, loc)VALUES(50, 'IT TEAM', 'SEOUL'); 입력할 테..

    [Python] enum형

    선언하기from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3print(type(Color.GREEN))print(Color.GREEN)print(Color.GREEN.name)// 출력Color.GREENGREEN반복하기 (이터레이션 지원)from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3 for color in Color: print(color) // 출력Color.REDColor.GREENColor.BLUE자동 값 사용하기 (auto)from enum import Enum, autoclass Color(Enum): ..

    [DB] 트랜잭션 (Transaction) 4가지 특성

    트랜잭션 (Transcation)데이터베이스의 상태를 변환시키는 하나의 논리적 기능 (예: Update, Delete)을 수행하기 위한 작업의 단위 혹은 일련의 연산들을 말한다.특성1. 원자성(Atomicity)트랜잭션의 연산은 데이터베이스에 전부 반영이 되어야하거나 전부 반영이 되지 않아야한다.즉, 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다. 2. 일관성(Consistency)트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다. 3. 독립성(Isolation)하나의 트..

    [Python] Encrypt / Decrypt

    alphabet = []def Init(): idx = 0 for i in range(97, 123): alphabet.append(chr(i))def Encrypt(plainTxt, shiftAmt, code = 0): cipherTxt = "" for letter in plainTxt: pos = alphabet.index(letter) newPos = pos + shiftAmt if code == 0 else pos - shiftAmt cipherTxt += alphabet[newPos] return cipherTxtdef Decrypt(plainTxt, shiftAmt): return Encrypt(plainTxt,..

    [Python] 비슷한 연산자의 차이 (is, ==, and, &, or, |)

    1. is / ==is객체의 주소값이 같으면 True를 반환한다.Object Identity OperatorReference Comparison (참조 비교) ==객체의 값이 같으면 True를 반환한다.Equal Comparison Operator(비교 연산자)Value Comparison (값 비교)a = 10b = 10print("a is b =", a is b)print("a == b =", a == b)print("id(a) =", id(a))print("id(b) =", id(b))// 결과a is b = Truea == b = Trueid(a) = 4545772160id(b) = 4545772160a = 999b = 999print("a is b =", a is b)print("a == b =..

    [C++] C++ 17 표준 라이브러리의 알고리즘 병렬화

    알고리즘의 병렬화C++ 17은 표준 라이브러리의 여러 알고리즘에 '병령 실행'을 지원하는 중복적재 버전을 추가하며, 병렬 실행을 지원하는 새 알고리즘도 여럿 추가한다. 예를 들어 기존 알고리즘인 std::transform에는 다음과 같은 중복 적재 버전들이 추가되었다.FwdIt2 transform( ExePolicy&& policy, FwdItIt1 first1, FwdItIt1 last1, FwdIt2 d_first, UnFunc func);FwdIt3 transform( ExePolicy&& policy, FwdIt1 first1, FwdIt1 last1, FwdIt2 first2, FwdIt3 d_first, BiFunc func ..

    [C++] 문자열 뒤집는 방법 string

    출처 X 개인이 작성한 코드string은 vector형이므로 vector형 테스트 x1. algorithm 헤더 파일 내 reverse 함수 사용두 개의 오버로딩 함수가 존재한다 아래껀 일단 생략한다, && 임시값인 _Enable_if_execution_policy 플래그인데 용도를 잘 모르겠다. 이번에 쓰여질 함수 원형은 아래와 같다, First는 시작 지점의 포인터와 Last는 마지막 지점 // string 사용string s = "algorithm";cout  // 배열 사용, 특이사항: const char*로 문자열 초기화 시 const이기 때문에 reverse 함수가 작동되지 않는다.끝 인덱스를 구하기 위해선 단순하게 총 길이에서 1만큼 빼주면 된다.char s[] = "algorithm";co..

    [C] main()과 return 사용 이유, 설명

    C 프로그램 동작 방식C 프로그램은 main() 이라는 함수가 운영체제(OS) 에서 호출되면서 시작되고, 그 main 함수가 호출되면 main 이름으로 정의된 block으로 진입하여, bloc 내의 명령문들을 순서대로 실행하게 된다. User는 사용자다. Application을 c 프로그램이라고 생각해보자.프로그램은 '함수의 집합체'이니 예를 들어서 프로그램도 함수라고 가정한다면, 그 함수를 호출하는 주체는 OS이며, 결국 거대한 함수이다. O/S가 프로그램을 실행한다는 것은 특정 실행 파일에 존재하는 'main' 함수를 호출하는 것이다. [그림 1]에서 볼 수 있는 call main() 위의 [그림1]의 Application 부분의 오른쪽 화살표를 보면, C 언어 코드가 적혀있다. 지금 봐야하는 lin..

    [Python] 문자열 관련 함수 총 정리

    type(변수) : 문자열(string) 문자열 표현법 4종 : '문자열', "문자열", ''''문자열''', """문자열""" 이스케이프 코드 1 (\ + 문자) : \n, \t, \\, \', \"\n : 줄바꿈\t : 탭간격\\, \', \" : 문자 표현 이스케이프 코드 2 (\ + 문자) : \b, \r\b : 백스페이스\r : 캐리지 리턴\f : 폼피드\v : 수직 탭\000: 널 문자열 연산자 : + , *문자열 + 문자열 : 문자열 간 연결문자열 * 정수 : 정수만큼 문자열 반복 자료형 변환 : strstr(값) : 값(실수, 정수, bool 등)을 문자열로 변환함 문자열 인덱싱 & 슬라이싱인덱싱 : 변수[인덱스]슬라이싱 : 변수[시작인덱스 : 종료인덱스] = a[x : x+3] = a[x..