본문 바로가기

sql42

SQL INSERT INTO SELECT 구문 안녕하세요!! 오늘 포스팅할 내용은 IINSERT INTO SELECT 구문 입니다. insert into select 구문은 같은 내용의 테이블 데이터를 복사하는데 유용하게 사용할 수 있습니다. 기본적인 구문은 아래와 같습니다. INSERT INTO table2 SELECT * FROM table1; // table1과 동일한 table2를 미리 만들고 위와 같은 구문을 실행하면 table1의 내용이 모두 table2로 복사됩니다. 복사 또는 백업하는 방법에는 여러가지가 있지만 위 구문도 알아두면 좋을듯 하여 이렇게 포스팅합니다. 그리고 모든 칼럼의 내용을 복사할수도 있지만 원하는 칼럼의 내용도 복사할 수 있습니다. INSERT INTO table2 (col1, col2, col3...) SELECT .. 2013. 9. 6.
SELECT INTO 구문 안녕하세요!! 이번에 포스팅할 내용은 SELECT INTO 구문입니다. 사실 select into 구문을 포스팅할까 말까 조금 망설였습니다. 지금 PHP 프로그래밍 작업을 하며 My-sql 데이터베이스를 사용하고 있는데 위 select into 기능은 my-sql에서 지원되지 않고 있기 때문인데 제가 사용하지 않는 기능을 다른분에게 잘 설명드릴수 있을까 고민했었습니다. 그런데 어차피 저도 배우는 자세로 포스팅해보려 합니다. 이부분은 조금 미흡하더라도 양해 부탁드립니다. ^^ select into 의 기능은 동일한 테이블의 형태를 복사하여 만드는데 매우 유용한 기능입니다. 예를들어 SELECT * INTO A_BACKUP FROM A; 위 구문을 실행하기 전까지는 A_BACKUP 란 테이블은 존재하지 않지.. 2013. 9. 5.
SQL UNION 구문 안녕하세요!! 이번에 포스팅할 내용은 SQL UNION 구문 입니다. UNION 은 두 개 이상의 select 문을 결합하는데 사용합니다. 두 개 이상의 select 문을 결합할때 주의해야 할 점은 불러오는 칼럼의 개수가 서로 같아야 한다는 것입니다. 그리고 union 의 구문은 union 과 union all 두 가지 방식이 있습니다. 두 구문의 차이점은 아래와 같습니다. 아래와 같은 두 개의 테이블이 있다고 가정합니다. TABLE1 TABLE2 ----------------- ----------------- field1 field1 ----------------- ----------------- 1 5 2 3 3 1 ----------------- ----------------- 이 때... SELE.. 2013. 9. 4.
SQL RIGHT JOIN 구문 안녕하세요!! 이번 포스팅에서는 JOIN 구문중에서 RIGHT JOIN 구문에 대해서 알아보겠습니다. 지난 포스팅에서 left join 구문을 설명했었는데 right join 구문은 반대라고 생각하시면 도움이 될듯합니다. 두 개의 테이블이 있다고 가정할경우 right join은 우측의 테이블을 포함한 교집합입니다. 아래 그림을 참조하시면 더 이해가 빠를거라 생각합니다. 이미지 출처 : w3schools RIGHT JOIN 기본구문 SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; // 위와 같이 조인 구문을 작성하면 그림과 같은 결과값이 나오게 됩니다. // 내용이 이전 포스팅의 le.. 2013. 9. 3.
SQL LEFT JOIN 구문 안녕하세요!! 이번 포스팅에서는 SQL 에서 LEFT JOIN 구문에 대해서 설명드리겠습니다. INNER JOIN 구문이 교집합 구문이었다면 LEFT JOIN은 LEFT 를 포함한 교집합 구문이라 생각하시면 되겠습니다. 이미지출처 : w3schools 위 그림에서 보면 table1 과 table2에 대해서 left join 을 한 모습인데 자세히 살펴보면 table1의 내용은 그대로 있고 table2와 겹치는 부분의 내용을 추출하는것을 볼 수 있습니다. 그리고 table1의 내용과 일치되지 않는 구문은 null 값을 반환하게 됩니다. left join 의 기본구문 SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.. 2013. 9. 2.
SQL INNER JOIN 구문 안녕하세요! 이번 포스팅은 SQL INNER JOIN 의 구문에 대해서 알아보겠습니다. INNER JOIN은 테이블간의 교집합이라고 생각하면 쉽게 이해될듯 합니다. 아래 그림을 참조하시기 바랍니다. 이미지 출처 : w3schools 이미지에서 볼 수 있듯이 table1 과 table2와 겹친 초록색 부분이 내용으로 나타나게 됩니다. 기본적인 구문 SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 또는 SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name = table2.column_name; // INNER 를 생략한.. 2013. 8. 31.
SQL JOIN 구문 안녕하세요! 이번 포스팅에서는 SQL의 JOIN 구문에 대해서 설명하겠습니다. SQL 은 기본적으로 여러개의 테이블을 join(조인)할 수 있습니다. join 의 의미는 합친다라는 의미인데 SQL에서는 서로 다른 테이블을 합치서 하나의 결과를 보여주는것을 의미합니다. JOIN의 방법에는 INNER JOIN(이너조인, 내부조인), OUTER JOIN, LEFT JOIN, JOIN 등 여러가지 방법이 있는데 이번 포스팅에서는 일단 JOIN의 기본적인 방법에 대해서 설명하고 다음 포스팅에서 위 여러가지 방법에 대해서 하나씩 세부적으로 설명하겠습니다. 예를 들어서 두개 이상의 테이블로부터 데이터를 가져오기 위해서 FROM 뒤에 테이블의 이름을 나열하면 됩니다. 기본구문 1) select * from test1,.. 2013. 8. 29.
SQL AS(Aliases) 구문 안녕하세요~!! 오늘 포스팅할 내용은 SQL AS 구문입니다. as 구문은 테이블 또는 테이블의 열에 대해서 임시로 이름을 변경할 수 있습니다. 약간 말이 어려운데 예제를 보면 금방 이해가 되지 않을까 싶습니다. 아래 member 테이블이라고 가정하고 예제를 살펴보겠습니다. id user_id user_pwd name age phone email 1 hhhh 1111 홍길동 25 010-1111-1111 test1@test.com 2 aaaa 2222 임꺽정 45 010-2222-2222 test2@test.com 3 bbbb 3333 이영수 34 010-3333-3333 test3@test.com 4 cccc 4444 김영희 28 010-4444-4444 test4@test.com 5 eeee 5555.. 2013. 8. 27.
SQL BETWEEN 구문 안녕하세요!! 이번 포스팅에서는 SQL BETWEEN 구문에 대해서 설명하겠습니다. 대부분의 프로그램 언어가 영어로 되어있습니다. 그렇기 때문에 언어 개발자들이 영어로된 명령어를 만들었죠. 왜 굳이 이말을 설명드리냐면 명령어를 잘 살펴보면 해당하는 기능에 대해서 유추해석할 수 있습니다. 오늘 말씀드릴 내용이 between 인데 우리나라말로 무엇무엇 사이에~ 라는 뜻입니다. 그렇다면 여기서 유추해석이 가능하겠죠. 무엇무엇 사이에 있는 내용을 가져오라는 뜻이라는 것을.. BETWEEN A AND B : A와 B 사이의 내용을 검색해서 나타내라는 의미입니다. 기본 구문은 아래처럼 사용합니다. SELECT column_name(s) FROM table_name WHERE column_name BETWEEN va.. 2013. 8. 23.
SQL IN 구문 안녕하세요!! 이번 포스트에서는 SQL IN 구문에 관하여 설명드리겠습니다. 사실 IN 구문도 "LIKE", "=" 처럼 검색에서 자주 사용되는데 IN을 사용하면 여러값을 지정하여 검색할 수 있습니다. 기본구문은 SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...); 처럼 사용할 수 있습니다. 아래 member 테이블을 이용하여 실제 예문을 만들어 보겠습니다. id user_id user_pwd name age phone email 1 test1 1111 홍길동 25 010-1111-1111 test1@test.com 2 test2 2222 임꺽정 45 010-2222-2222 test2@test.com 3 test3.. 2013. 8. 22.
SQL LIKE 구문 이번에 포스팅할 내용은 SQL 구문중 LIKE 입니다. LIKE 연산자는 지정된 패턴을 검색하는데 사용합니다. 예를들어 "나는 지금 블로그에 글을 쓰고 있습니다." 라는 제목으로 글을 저장하고 그 글을 검색할 경우 여러분들은 어떻게 검색어를 칠까요? 블로그? 지금? 글? 등 어떤 패턴을 통해서 검색을 하겠죠. SQL에서 흔히 사용하는 연산자 "=" 은 무조건 같을때만 검색이 됩니다. 위에서 예를 들은 블로그, 지금, 글 등을 연산자 "=" 을 사용한다면 "블로그 = 나는 지금 블로그에 글을 쓰고 있습니다" 물론 참이 될수가 없습니다. 그렇기에 검색도 되지 않겠죠. 하지만 LIKE 연산자를 사용하면 내용중에 해당하는 단어만 있으면 바로 검색이 됩니다. 예제를 통해서 알아보겠습니다. 기본적인 구문은 sele.. 2013. 8. 21.
SQL TOP,LIMIT, ROWNUM 구문 안녕하세요!! 좋은 아침입니다. 이번 포스팅에서는 가져올 레코드수를 지정할 수 있는 구문에 대해서 알아보겠습니다. 제목에 TOP, LIMIT, ROWNUM 이렇게 3가지를 적은 이유는 데이타베이스마다 구문이 틀리기 때문입니다. MS-SQL : TOP MY-SQL : LIMIT ORACLE : ROWNUM MS-SQL 예제 1. SELECT TOP 10 number * FROM table_name; 2. SELECT TOP 10 percent * FROM table_name; // 감이 빠른 분들이라면 벌써 위 구문이 아~ 어떤 내용이구나 라고 이해하셨을듯 합니다. // 첫 번째 구문은 10개의 레코드를 가져오라는 구문이며, 두 번째는 모든 레코드 중에서 10퍼센트를 가져오라는 구문입니다. 그리고 기본적으.. 2013. 8. 20.
SQL UPDATE, DELETE 구문 안녕하세요!! 이번 포스팅에서는 SQL update, delete에 대해서 알아보겠습니다. 우선 UPDATE 구문에 대해서 알아보겠습니다. update 는 테이블에서 레코드를 수정하는데 사용하는 구문입니다. UPDATE 예제구문 UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value; // update table_name set 을 선언하고 수정할 칼럼을 적고나서 where 를 사용하여 어떤곳이 수정되어야 하는지 조건문을 적어줍니다. 만약 깜빡하고 where 구문을 적지 않게되면 해당하는 칼럼의 모든 내용이 수정되기 때문에 반드시 주의해서 코딩해야 합니다. 사실 가끔 저도 그런 실수를 한적이 있.. 2013. 8. 19.
SQL INSERT INTO 구문 안녕하세요! 이번 포스팅에서는 SQL INSERT INTO 구문에 대해서 알아보겠습니다. 사실 INSERT INTO 구문에 들어가기 전에 테이블을 먼저 생성하는것이 순서이겠지만 앞으로 진행할 UPDATE, DELETE 구문과 지금까지의 포스팅 내용은 SQL에 있어서 기본적인 내용이기에 먼저 진행한 후 테이블 생성등에 대해서 추후 포스팅예정입니다. 기본적으로 SQL 에서 INSERT INTO 구문은 테이블에 레코드를 삽입하는데 사용합니다. INSERT INTO 구문은 세 가지 형태로 작성할 수 있습니다. 첫 번째 구문은 칼럼 이름을 지정하지 않고 사용합니다. INSERT INTO table_name VALUES (value1,value2,value3,...); // 위 구문을 코딩할때 칼럼값에 정확하게 일.. 2013. 8. 16.
SQL ORDER BY 구문 안녕하세요!! 이번장에서는 SQL 중에서 order by (정렬) 에 관해서 알아보겠습니다. order by 는 기본적으로 내림차순과 오름차순으로 나뉘어 집니다. order by column_name de 내림차순이란 10, 9, 8, 7, .... | ㅁ, ㄹ, ㄷ, ㄴ, ㄱ | Z, Y, X, W, V... 처럼 문자 또는 숫자가 하나씩 내려가는 순서로 정렬되는 것을 말하며 order by column_name desc 를 사용하여 정렬합니다. order by column_name asc 또는 order by column_name 그렇다면 오름차순은 당근 그 반대입니다. 즉, 오름차순이란 1, 2, 3, 4, .... | ㄱ, ㄴ, ㄷ, ㄹ, ... | a, b, c, d, .... 처럼 문자 또는 .. 2013. 8. 15.
SQL AND OR 구문 이번 포스팅에서는 SQL 의 AND , OR 연산자에 대해서 설명하겠습니다. AND 및 OR 연산자는 두 개 이상의 조건에 따라 레코드를 필터링하는데 사용합니다. 첫 번째 조건과 두 번째 조건 모두 해당하면 AND 연산자를 사용하고, 첫 번째 조건과 두 번째 조건 중 하나가 참일경우 OR 연산자를 사용합니다. 쉽게 아래 member 테이블의 내용을 보면서 다시 설명하겠습니다. id user_id user_pwd name age phone email 1 test1 1111 홍길동 25 010-1111-1111 test1@test.com 2 test2 2222 임꺽정 45 010-2222-2222 test2@test.com 3 test3 3333 이철수 34 010-3333-3333 test3@test.co.. 2013. 8. 14.
SQL WHERE 구문 SQL에서 WHERE 구문은 어떤 조건을 검색하는데 사용합니다. 인터넷 서핑을 하다보면 보통 내가 보고 싶은 또는 찾고 싶은 내용을 가져올때 여러분들은 검색이라는 방법을 사용합니다. 그때 WHERE 구문을 이용해 검색을 하게됩니다. 물론 포털사이트등의 검색조건은 매우 복잡하게(테이블조인, 조건문등) 짜여져 있겠지만 기본은 WHERE 구문이라는 것을 알아두시기 바랍니다. id user_id user_pwd name age phone email 1 test1 1111 홍길동 25 010-1111-1111 test1@test.com 2 test2 2222 임꺽정 45 010-2222-2222 test2@test.com 3 test3 3333 이철수 34 010-3333-3333 test3@test.com 4 .. 2013. 8. 13.
SQL SELECT DISTINCT 구문 SQL 구문에서 중복된 값을 배제하고 고유의 값을 가져오고 싶을 경우 Distinct 를 사용합니다. 이와 비슷한 의미로 Group by 구문이 있는데 간단하게 예제 구문만 비교하고 추후 포스팅에서 설명하기로 하겠습니다. 데이터베이스에 데이터를 저장하다 보면 중복되는 값이 종종 들어갑니다. 예를들어 회원의 정보를 입력받고 저장되는 구문을 프로그래밍 할 경우 이름의 중복이 있을수도 있고, 나이의 중복이 있을수도 있습니다. 그외 여러가지 경우가 있는데 그럴때 중복된 데이터를 배제하고 데이터를 가져오고 싶을경우 select DISTINCT name from member; 위 처럼 데이터베이스에 명령을 하면 됩니다. 위의 명령을 아래의 "member" 테이블에 적용시키면 id user_id user_pwd na.. 2013. 8. 12.
SQL Select 구문 SELECT 구문은 데이터베이스의 내용을 선택하는데 사용합니다. select 구문은 기본적으로 두가지 방식으로 데이터를 선택할 수 있습니다. 첫번째 예시 SELECT * FROM table_name; 두번째 예시 SELECT column_name,column_name2 FROM table_name; 첫번째 예시구문은 선택된 테이블의 모든 값을 불러오는 구문이고 두번째 예시구문은 선택된 테이블중에서 column_name,column_name2 의 값만 불러오는 구문입니다. 테이블에 데이터가 많을때 데이터의 로딩이라던지 속도를 높이기 위해 두번째 예시구문을 많이 사용합니다. 첫번째 구문같은 경우는 테이블의 내용이 그다지 많지않고 속도에 크게 영향을 끼치지 않을경우 사용합니다. 개인적으로 SQL 구문은 두번째.. 2013. 8. 9.
SQL 기본 구문 데이터베이스와 테이블 하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다. 예를들어 회원(member) 테이블의 기본적인 모습은 아래와 같습니다. id user_id user_pwd name age phone email 1 test1 1111 홍길동 25 010-1111-1111 test1@test.com 2 test2 2222 임꺽정 45 010-2222-2222 test2@test.com 3 test3 3333 이철수 34 010-3333-3333 test3@test.com 4 test4 4444 김영희 28 010-4444-44.. 2013. 8. 8.
SQL 소개 프로그램의 공부는 정말 끝이 없는듯 합니다. 웹프로그램만 하더라도 공부해야 할 것들이 JSP, ASP, PHP, Database, Javascript, jQuery, SQL, CSS, HTML 등등 그 이외에도 더 많이 있지만 저렇게 많은 공부를 해야 인터넷이라는 공간에 집을 지을수 있습니다. SQL 언어가 중요하고 필수적으로 알아야 하는 이유는 데이터베이스를 조작하고 엑세스할수 있기 때문입니다. 인터넷에 있는 모든 글은 데이터베이스에 저장되게 되는데 SQL 언어를 모르면 앙꼬없는 찐빵이겠죠. SQL 은 아래 내용처럼 많은 것들을 할 수 있습니다. - SQL은 데이터베이스에 대해 쿼리를 실행할 수 있습니다 - SQL은 데이터베이스에서 데이터를 검색 할 수 있습니다 - SQL은 데이터베이스에 레코드를 삽입.. 2013. 8. 7.