ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기초 SQL - 데이터 검색하기
    Computer Engineering/SQL 2023. 3. 7. 10:37

    Basic-SQL

    HackerRank https://www.hackerrank.com/domains/sql

    W3school https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all


    데이터 검색하기

    * = 모든 것을 의미 ( 아스타 )
    -- : SQL 내에서 사용하는 주석

      SELECT *              -- SELCT 무엇을 선택 
                            -- SELECT SUM( ) / SELECT AVG( )
      FROM Customers        -- FROM 무슨 테이블로부터
      Limit 5;
    

    WHERE 조건절

      SELECT *
      FROM customers
      WHERE country = 'Germany'
    

    비교 연산자 <, >

      SELECT *
      FROM customers
      WHERE customerID > 50
    
      SELECT *
      FROM customers
      WHERE customername < 'B'
    

    논리 연산자 AND / OR

      SELECT *
      FROM CUSTOMERS
      WHERE customername < 'B' AND country = 'Germany'
      
      SELECT *
      FROM customers
      WHERE customername < 'B' OR country = 'Germany'
    

    LIKE, IN, BETWEEN, IS NULL

    % = 뒤에 어떤 것이 들어가도 상관 없다.

    \ = 이스케이프 ;= 예약어를 탈출한다. \ % = 예약어 %가 아닌 퍼센트 %를 의미
    자신이 사용하는 DB를 검색해서 사용

    IS NULL = NaN (Not a Number) 결측값

      SELECT *
      FROM Customers
      WHERE country LIKE 'Br%' 
      = 
      WHERE country = 'Brazil' ( 이 경우에는 정확한 DATA 명을 알고 있어야 함. / DATA 불러오는 속도가 훨씬 빠르다. )
      
      WHERE country LIKE 'B_____' ( ' _ ' = 빈칸을 의미 )
      
      SELECT *
      FROM Customers
      WHERE country IN ('Germany', 'France') =  WHERE country = 'Germany' OR country = 'France'
      
      SELECT *
      FROM Customers
      WHERE CustomerID BETWEEN 3 AND 5
    

    BETWEEN

    BETWEEN은 특정 범위 내에 있는 행만 추출
    AND연산자와 함께 시작값, 끝값을 포함

    SELECT * 
    FROM CUSTOMERS
    WHERE CustomerNAME BETWEEN 'C' AND 'E';
    

    IN

    IN은 값 목록을 지정

    SELECT *
    FROM Customers
    WHERE Country IN ('Germany', 'France', 'Korea')
    

    DISTINCT

    중복된 값을 제외시켜준다

    SELECT DISTINCT *
    FROM CUSTOMERS
    WHERE COUNTRY LIKE '%a%'
    OR COUNTRY LIKE '%b%'
    

    ORDER BY : 데이터 순서 정렬하기

    오름차순 정렬 : ASC = Default값 내림차순 정렬 : DESC
    ORDER BY

    SELECT *
    FROM Customers
    * WHERE ___  조건절의 위치
    ORDER BY CustomerID DESC
    
    
    SELECT * 
    FROM Products
    WHERE price >= 88
    ORDER BY Price DESC
    

    LEFT / RIGHT / SUBSTR : 문자열 자르기

    LEFT / RIGHT : ( 컬럼명 또는 문자열, 문자열의 길이 )

     SELECT LEFT ( "20140323", 4 ) => 2014
     SELECT RIGHT ( "20140323", 4 ) => 0323  
    

    SUBSTRING : ( 컬럼명 또는 문자열, 시작 위치, 길이 ) =; SUBSTR

     SUBSTR ( "20140323", 1, 4 ) => 2014
     SUBSTR ( "20140323", 5 ) => 0323 --시작위치만 표시시 길이는 끝까지
    

    CEIL / FLOOR / ROUND : 소수점처리

    CEIL() 올림

     SELECT CEIL(5.5) => 6  
    

    FLOOR() 내림

     SELECT FLOOR(5.5) => 5  
    

    ROUND() 반올림

    ROUND(5.556901, 4) => 5.5569
      
    SELECT ROUND(LONG_W, 4)
    FROM STATION
    WHERE LAT_N < 137.2345
    ORDER BY LAT_N DESC
    LIMIT 1
    반응형

    'Computer Engineering > SQL' 카테고리의 다른 글

    [SQL] Union, Excpet와 Join 구문의 차이  (1) 2023.12.18
    SQL 공부 시작.  (0) 2023.06.25
Designed by Tistory.