sql 7

[SQL] 리스트 형태의 컬럼에서 특정 값 찾기

MySQL에서 컬럼이 리스트일 경우 특정 값이 있는 지 확인하기 공백 없이 쉼표로 구분된 리스트'A,B,C' 특정 값 찾기FIND_IN_SET()FIND_IN_SET(특정 값, 컬럼)없으면 0을 반환 + LIKE 사용컬럼 LIKE '%특정값%'하지만 %A%를 했을 때 리스트 안에 AA가 있다면 다른 결과가 나올 수도 있다.문제https://school.programmers.co.kr/learn/courses/30/lessons/157343 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 리스트 안에서 특정 값이 있는지 확인하는 문제였습니다. 1. FIND_IN_SET 사용SELECT CAR_ID, CAR..

카테고리 없음 2025.01.14

[SQL] 비트 연산

2진수 변환 없이 연산이 가능SQL에서 숫자를 2진수로 자동 변환하여 연산을 수행하기 때문에 숫자를 2진수로 변환할 필요 없음https://wing-beat.tistory.com/140 [프로그래머스 코딩테스트 연습 SQL - 14] 조건에 맞는 개발자 찾기 (MySQL) | SQL BIT 연산처음에 틀렸던 코드:SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPERSWHERE (BIN(SKILL_CODE) LIKE '%1__________') OR (BIN(SKILL_CODE) LIKE '%1________')ORDER BY ID;처음에는 SKILLCODES 테이블에서 PYTHON, C#의 BIN을 확인한 후 수제wing-beat.tistory.com  MySQ..

카테고리 없음 2025.01.02

sqlite3를 이용하여 db 만들어보기

sqlite3를 사용하여 python에서 db 접근하기 sqlite3 패키지 임포트 import sqlite3 파이썬에서 sql문을 이용하여 dbms가 db에 접근 서버에 접근하기 -> connection을 이용하여 sqlite는 혼자 쓰는 파일 서버이기 때문에 파일 경로만 있으면 된다 conn = sqlite3.connect('파일 경로') type(con) #sqlite3.Connection cursor 객체 받기 cursor(dbms가 관리)가 작업을 한다 cur = conn.cursor() type(cur) # sqlite3.Cursor 가장 쉬운 테이블을 만들어보겠습니다 cursor로 작업할 때 sql문 실행 방법 1. 동일 구문 한 번 실행 cur.execute() 2. 동일 구문 n번 실행 ..

카테고리 없음 2024.04.13

[SQL] 데이터베이스

데이터베이스 생성 CREATE DATABASE [데이터베이스 이름]; 똑같은 이름의 데이터베이스 생성 방지 CREATE DATABASE IF NOT EXISTS [데이터베이스 이름]; 데이터베이스 지정 USE [데이터베이스 이름]; 테이블 생성하고, 컬럼 구조 만들기 CREATE TABLE [데이터베이스 이름].[테이블 이름] ( `컬럼명` [데이터 타입] [속성], `컬럼명` [데이터 타입] [속성], `컬럼명` [데이터 타입] [속성], `컬럼명` [데이터 타입] [속성], `컬럼명` [데이터 타입] [속성] ); 컬럼명을 구분할 때는 백틱(`)을 사용. (문자열 값을 나타낼 때에는 작은 따옴표(')/큰 따옴표(")를 사용) 데이터 타입 1. 숫자 -정수형 TINYINT, SMALLINT, INT, ..

카테고리 없음 2024.04.07

[SQL] 조인(JOIN)

JOIN: 테이블 합치기 여러 번 조인 가능 1. 결합 연산: 테이블을 가로 방향으로 합친다 2. 집합 연산: 테이블을 세로 방향으로 합친다 1. 결합 연산: JOIN 1. EQUI JOIN, Non-EQUI JOIN 2. INNER JOIN 3. OUTER JOIN(LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN) 4. CROSS JOIN 두 테이블 간에 일치하는 것을 조인한다 SELECT * FROM [테이블1], [테이블2] WHERE [테이블1].[컬럼명] = [테이블2].[컬럼명] join 조건을 WHERE절에 쓴다. 등호(=)을 사용 join 조건이 등호(=)가 아닌 부등호를 사용 FROM..

카테고리 없음 2024.02.05

[SQL] 서브쿼리

MySQL로 진행합니다 서브쿼리란 SELECT문 안에 SELECT문을 사용하는 것 서브 쿼리는 괄호로 묶어준다 1. SELECT 절에 사용(스칼라 서브 쿼리) 2. FROM 절에 사용(인라인 뷰) 3. WHERE 절에 사용(일반 서브 쿼리) SELECT절에 서브쿼리( = 스칼라 서브쿼리) 단일 값을 리턴한다. product 테이블에서 product_name(상품 이름), star(별점)를 추출하고 서브쿼리로 avg_star(상품들의 평균 별점)을 추출한다 SELECT id, star, (SELECT AVG(star) FROM product) AS avg_star FROM product; FROM절에서 서브쿼리( = 인라인 뷰) 테이블이 리턴되는 서브쿼리를 사용할 때 이 테이블을 FROM절에서 사용할 수 ..

카테고리 없음 2024.02.04

[SQL] DML-SELECT

SQL문법코드를 마치면 반드시 세미콜론(;)을 써야한다줄바꿈과 개행이 자유롭기 때문에 가독성을 위해 줄바꿈과 개행을 사용한다가독성을 위해 예약어는 대문자를 사용한다  MySQL을 기준으로 작성했습니다SELECT문테이블에 입력된 데이터를 조회하기 위해 사용원하는 컬럼과 행을 조회할 수 있음 SELECT문 작성 순서SELECTFROMWHEREGROUP BYHAVINGORDER BYLIMIT SELECT문 해석 순서1. FROM(데이터베이스와 테이블 결정)2. WHERE(조건을 만족하는 row들만 추출)3. GROUP BY(row들을 그루핑. 그루핑 후 하나의 row는 하나의 그룹이 됨)4. HAVING(조건을 만족하는 그룹들만 추출)5. SELECT(조회)6. ORDER BY(정렬)7. LIMIT(일부 ro..

카테고리 없음 2024.02.01