쿼리 4

[세무민의 코딩일기] LeetCode Exchange Seats 문제풀이

오늘 풀어볼 문제는 LeetCode의 Exchange Seats 문제입니다. 1. 문제 및 예시 2. 문제풀이 이번 문제는 앞뒤로 바꾸는 쿼리 결과를 조회하면된다. 그렇다면 곰곰히 생각해보면 2의 배수의 경우는 앞뒤로 변경이 가능하지만 2의 배수에서 -1인 경우는 마지막의 값은 변경이 불가능하다. 이 말은 즉슨 Mod(ID, 2) = 1 공식에 따라서 문제를 풀면 된다. 3. 코드 /** * LeetCode : Exchange Seats * URL :https://leetcode.com/problems/exchange-seats/ */ SELECT ID, IFNULL(CASE WHEN MOD(ID, 2) != 0 THEN LEAD(student) over() ELSE LAG(student) over() ..

Algorithm/leetCode 2022.02.11

[세무민의 코딩일기] SQL 내장함수에 대해서 알아보자 1탄!(길이, 진법변환, 문자열 반환 등)

오늘 다뤄볼 포스팅은 SQL 내장함수에 대해서 다뤄볼 것입니다. 내장함수가 워낙 많아서 나눠서 포스팅 할 예정입니다. 1. 아스키 코드 함수[ASCII] SELECT ASCII('AB') AS 'AB' , (ASCII('A') + ASCII('B')) AS 'A + B'; 아스키 코드는 위와 같이 사용할 수 있습니다. 위의 코드를 돌리면 위의 그림과 같이 나오며 'AB'과 같이 문자열의 경우에는 아스키 코드 함수가 가장 앞에 있는 A를 변환해줍니다, 2. BIT_LENGTH, LENGTH, CHAR_LENGTH SELECT BIT_LENGTH('SG-MOOMOIN') AS '비트 길이' , CHAR_LENGTH('SG-MOOMIN') AS '문자 길이' , LENGTH('SG-MOOMIN') AS '길이..

DB/SQL 2021.07.27

[세무민의 코딩일기] 쿼리 with rollup 으로 중간 합계 구하는 방법!

이번 포스팅에서 다룰 것은 RollUp이다. ROLLUP을 이용하면 중간 합계나 총합계를 구할 수 있다. 우선 예시와 함께 진행해보겠다. ## 예시에 사용된 테이블 CREATE TABLE TEMP1( NUMBER1 INT, NUMBER2 INT, VARCHARS VARCHAR(30) ); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (22, 31, '사과'); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (13, 11, '파인애플'); INSERT INTO TEMP1 (NUMBER1, NUMBER2, VARCHARS) VALUES (53, 11, '체리'); INSERT INTO TEMP1 (NUMBE..

DB/SQL 2021.07.24

CRUD와 다양한 SELECT 검색조건에 대해서 자세하게 알아봅시다![DISTINCT, LIKE, IN, BETWEEN 등]

예전에 취준생을 하면서 최종면접 때 받았던 질문이 하나 있었다. "혹시 CRUD에 대해서 잘 다룰 줄 아는지?" 그때는 무조건 잘 다룬다고 자만했었고 CRUD쯤이야 뭐가 어렵겠어 라는 생각이였다. 그렇지만 현실은 CRUD를 접근하는 것은 쉽지만 생각보다 논리구조에 많이 걸리게 된다. 그러면 오늘 CRUD에 대해서 간단히 알아보도록 하자 "실습은 임시로 만든 airtest라는 임시로 만든 데이터베이스로 진행하겠습니다." 1. CRUD란? "생성, 읽기, 변경, 삭제를 통칭하는 말로 기본적인 데이터 처리에 사용된다" CRUD의 경우 웹 개발에서 예를 들어보면 DB에 있는 값을 생성하거나 가져오거나 변경하거나 삭제하는 과정들을 CRUD라고 하고 이를 쿼리로 보면 Select, Insert, Update, De..

DB/SQL 2021.07.21