[SQL]내가 쓰려고 정리하는 명령어 정리

차보경·2022년 11월 3일
0

SQL

목록 보기
3/14
post-thumbnail

기본

  • SELECT DISTINCT : 중복 제거
    SELECT DISTINCT City FROM Customers;
  • ORDER BY col (ASC(defalt)/DESC): 해당 col 오름차순/내림차순
    SELECT * FROM Customers ORDER BY CustomerName DESC;
  • SELECT col AS 변경이름 : 해당 col의 이름을 변경함 (기존 변경X) SELECT CustomerName AS 회원이름 FROM Customers;
    - 동시가능, AS 대신 ' '공백으로 가능
    SELECT CustomerID 회원번호, City 도시 FROM Customers;

연산

연결 연산자 (Oracle : ||, MsSQL : + , MySQL : 공백)

  • SELECT 이후 연산 가능
    SELECT 1+1;
  • col에도 적용 가능
    SELECT CustomerID+100 FROM Customers;
    - 홀짝으로 변형 가능
    SELECT CustomerID % 2 FROM Customers;
  • 연산값으로 신규 col 생성 가능
    SELECT Price 기존가, Price * 0.2 할인가, Price * 0.8 최종가 FROM Products;
  • col 합치지 가능 : col1 || col2
    SELECT Country || City || Address || PostalCode FROM Customers;
    결과 : GermanyBerlinObere Str. 5712209
  • col 합치기 할 때 공백 넣기 : col1 || ' ' || col2
    SELECT Country || ' ' || City || ' ' || Address || ' ' || PostalCode FROM Customers;
    결과 : Germany Berlin Obere Str. 57 12209
  • 합친 col 이름바꾸기도 한번에 가능
    SELECT Country || ' ' || City || ' ' || Address || ' ' || PostalCode AS 주소 FROM Customers
  • 응용 ver
    SELECT ProductName AS 제품이름, Price || '가 ' || (Price*0.2) || '할인되어 ' || (Price*0.8) || '에 판매합니다!' AS 홍보문구 FROM Products;

WHERE

  • BETWEEN ~ AND ~ : 사이 값 출력 (30, 50 포함 출력)
    SELECT * FROM CUSTOMERS WHERE CUSTOMERID BETWEEN 30 AND 50;
  • IN () : 해당 값 출력
    SELECT * FROM CUSTOMERS WHERE CUSTOMERID IN (10, 20, 30) ;
  • LIKE 'N' : N 출력, 'N_', '_N'처럼 응용 가능
    SELECT * FROM CUSTOMERS WHERE CUSTOMERID LIKE '_1';
    • _ : 문자열 1개에 해당
    • % : 글자수 상관X 모든 문자열(와일드카드)
  • IS NULL : NULL값 확인
    SELECT * FROM CUSTOMERS WHERE CUSTOMERID IS NULL;

BIT 단위 논리연산자

  • & (AND), | (OR), ^ (NOT)
    - TIP
    5 & 7 = 5, 5 | 7 = 7 왜일까!?
    5 = 101
    7 = 111
    & = 101 (각 열대로 연산자 적용)
profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)

0개의 댓글