민둥 개발자의 계발 블로그

[mysql] 데이터베이스의 데이터 조회하는 법 (SELECT 문)! 본문

Study/Database

[mysql] 데이터베이스의 데이터 조회하는 법 (SELECT 문)!

민둥산의 민둥이 2022. 4. 27. 13:23

 안녕하세요 민둥산의 민둥이입니다. 저번 포스팅에서 나름 코드 블록을 사용한 설명에 익숙해지셨을 것 같아 오늘부터는 명령어 정리 위주로 하겠습니다! 한번씩 오타 나는 것만 주의하면서 천천히 명령어를 따라 쳐보세요! (참고로 mysql 로그인 및 데이터베이스 선택까지 해주셔야 합니다)

 

데이터 조회 기본 문법

 SELECT + 칼럼의 목록 + FROM +테이블명;

SELECT name, age FROM test_nn;

모든 칼럼을 출력하고 싶을 경우 *(Asterisk) 사용합니다. 

SELECT * FROM test_nn;

SELECT 절에는 칼럼뿐만 아니라 표현식도 사용이 가능합니다. 

*여기서 표현식이란 간단한 +,-,/,*등을 이용하여 연산을 수행할 수 있는 산술식을 뜻합니다.

SELECT name, age, age+5 FROM test_nn;

Column Alias

테이블의 칼럼들을 출력할 때 칼럼명을 바꾸어서 보고 싶을 때 Column Alias 라는 문법을 사용하여 이름을 바꾸어 볼 수도 있습니다. 기본적인 문법으로 컬럼명 입력 후 그 바로 뒤에 AS를 입력 후(안 해도 되긴 합니다) 별명을 입력하시면 됩니다. 주의할 점은 식별자 규칙을 지켜서 특수문자, 숫자 등이 첫 글자로 올 수 없고 공백이나 특수문자가 포함된 별명을 지을 때는 "따옴표"를 사용하여 묶어주어야 합니다.

SELECT name AS nickname, age AS howOld 
FROM test_nn;

연결 연산자 (||) or CONCAT() 함수

 두 개 혹은 그 이상의 칼럼 값을 합쳐서 보여 줄 수도 있습니다. 이때 사용하는 것이 연결 연산자인데 Oracle 데이터베이스에서 사용하는 || 는 mysql에서는 사용하지 않기에 CONCAT() 함수를 사용합니다. SELECT CONCAT(칼럼 1, 칼럼 2) FROM 테이블명. 중간에 공백, 특수문자 등의 리터럴도 포함시킬 수 있습니다. 그럴 때는 "따옴표"를 사용하여 리터럴을 감싸주셔야 합니다.

SELECT name, age, CONCAT(name,"은",age,"세 입니다)
FROM test_nn;

중복 값 제거 (DISTINCT)

SELECT DISTINCT name, age
FROM test_nn;

동일한 이름과 나이를 가진 사람은 한 번만 출력합니다. 

 

※참고로 저번 포스팅에서 저와 똑같이 따라치셨다면 데이터가 1개밖에 없거나 아예 없을 수 있습니다. 따라서 INSERT INTO 문을 사용해서 여러 개의 데이터를 만들어 두세요!

반응형
Comments