[SQL]MySQL基本構文
よく使うSQLの基本文法を整理してみましょう.
構造化Query Languageの略、構造化クエリ言語 データの問合せ、変更、更新のコマンド MySQL、Oracle、MariaDBなど(以下MySQLベース) SELECT文テーブルから必要な情報を取得するためのシンタックス .テーブル列に属するデータをロードします. *はすべてをもたらすことを意味し、 を使用して冗長性を排除し、SELECTなどの一意の値 のみを出力する.条件を使用して検索 比較演算子 に等しい場合"=" に等しくない場合"!=","<>" より大きい場合"<" 以上の場合"<=" 複合演算子 結果は、昇順または降順に 並べ替えられた. 出力結果数は に制限.
検索値NULLの値 の値をNULLに変更する は、特定のモード にナビゲートする. %, _ %:0文字以上 : を表す文字
WHERE節に複数の値を設定場合は を用いる. WHEREセクションの を使用して検索条件の範囲を指定します.
2つ以上のテーブルのローを組み合わせたい場合は、 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOINは 存在する.
2つ以上のクエリー結果を1つのテーブルにマージするには、 SELECTの列リストから を選択します.注意事項 UNIONデフォルトでは重複値が削除されますが、削除したくない場合はUNIOALLを使用します.
特定の列をグループ化する GROUP BYの集約関数とともに使用され、結果を指定したコラムでグループ化する場合は、
特定の列を組み合わせて、 HAVING
保留できない集約関数は、 WHERE条件を使用して条件保留されます. を使用して複数の文字列を結合 ROUNDは四捨五入、TRUNCは四捨五入
注意:http://bigdata.dongguk.ac.kr/lectures/DB/_book/%EC%97%AC%EB%9F%AC-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%98-%EA%B2%B0%ED%95%A9%EC%9D%84-%ED%86%B5%ED%95%9C-%EA%B2%80%EC%83%89-join-%EA%B2%80%EC%83%89.html
SQLとは?
SELECT
SELECT col1, col2, ....
FROM table_name;
DISTINCT
SELECT DISTINCT col1, col2, ...
FROM table_name;
WHERE
SELECT col1, col2, ...
FROM table
WHERE condition;
AND, OR, NOT
SELECT col1, col2, ...
FROM table
WHERE condition1 and condition2;
SELECT col1, col2, ....
FROM table
WHERE condition1 or condition2;
SELECT col1, col2, ...
FROM table
WHERE NOT condition;
ORDER BY
SELECT col1, col2, ...
FROM table
ORDER BY col1 ASC|DESC;
SELECT col1, col2, ...
FROM table
ORDER BY FIELD (col1, order1, order2, ...);
順序が決まっていないとき。
order by field ( 컬럼명, "순서1", "순서2", .... )
임의로 정한 순서대로 보여주려면 아래와 같이 하면 된다.
select * from testbl where sid in (3,4,1) order by field (sid, 3, 4, 1);
LIMIT
SELECT * FROM table LIMIT 3;
SELECT * FROM table LIMIT 2, 3;
SELECT * FROM table LIMIT 0, 4;
NULL VALUE
検索
SELECT col1, col2, ...
FROM table
WHERE col_name IS NOT NULL;
SELECT col1, col2, ...
FROM table
WHERE col_name IS NULL;
IF NULL
IFNULL(NAME, 'No name')
LIKE
SELECT col1, col2, ...
FROM table
WHERE col_name LIKE pattern;
IN()
SELECT col
FROM table
WHERE col_name IN (val1, val2, ...);
BETWEEN
SELECT col1
FROM table
WHERE col_name BETWEEN val1 AND val2;
JOIN
2つ以上のテーブルのローを組み合わせたい場合は、
SELECT col1
FROM table1 INNER JOIN table2
ON table1.col = table2.col;
SELECT col1
FROM table1 LEFT INNER JOIN table2
ON table1.col = table2.col;
SELECT col1
FROM table1 RIGHT JOIN table2
ON table1.col = table2.col;
SELECT col1
FROM table1 FULL OUTER JOIN table2 # 쉽게말해 합집합, A테이블이 가지고 있는 데이터 , B테이블이 가지고있는 데이터 모두 검색
ON table1.col = table2.col;
SELECT
A.NAME, --A테이블의 NAME조회
B.AGE --B테이블의 AGE조회
FROM EX_TABLE A
CROSS JOIN JOIN_TABLE B # 모든 경우의 수를 전부 표현해주는 방식
UNION
2つ以上のクエリー結果を1つのテーブルにマージするには、
SELECT col FROM table1
UNION
SELECT col FROM table2;
MIN, MAX, ABS, COUNT, AVG, SUM
SELECT MIN (col) FROM table;
SELECT MAX (col) FROM table;
SELECT ABS (col) FROM table;
SELECT COUNT (col) FROM table;
SELECT AVG (col) FROM table;
SELECT SUM (col) FROM table;
GROUP BY
特定の列をグループ化する GROUP BY
SELECT col1
FROM table
WHERE condition
GROUP BY col_name;
HAVING
特定の列を組み合わせて、 HAVING
保留できない集約関数は、
SELECT col1
FROM table
WHERE condition
GROUP BY col_name
HAVING condition;
CONCAT
SELECT CONCAT(str1, str2, str3, ...);
ROUND(), TRUNC()
SELECT ROUND|TRUNC (val, digit)
FROM table
注意:http://bigdata.dongguk.ac.kr/lectures/DB/_book/%EC%97%AC%EB%9F%AC-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%98-%EA%B2%B0%ED%95%A9%EC%9D%84-%ED%86%B5%ED%95%9C-%EA%B2%80%EC%83%89-join-%EA%B2%80%EC%83%89.html
Reference
この問題について([SQL]MySQL基本構文), 我々は、より多くの情報をここで見つけました https://velog.io/@hanakim120/SQL-MySQL-기본-문법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol