diff --git a/README.md b/README.md
index 0d20bee..5567617 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ Pull requests are welcome. Enjoy!
* `LIKE` ‘%or%’ (find any values that have “or” in any position)
* `LIKE` ‘_r%’ (find any values that have “r” in the second position)
* `LIKE` ‘a_%_%’ (find any values that start with “a” and are at least 3 characters in length)
-* `LIKE` ‘[a-c]%’ (find any values starting with “a”, “b”, or “c”
+* `LIKE` ‘[a-c]%’ (find any values starting with “a”, “b”, or “c”)
### **IN**: operator that allows you to specify multiple values in a WHERE clause
* essentially the IN operator is shorthand for multiple OR conditions
@@ -97,7 +97,12 @@ Pull requests are welcome. Enjoy!
* `SELECT` column_name1, COUNT(column_name2) `FROM` table_name `WHERE` condition `GROUP BY` column_name1 `ORDER BY` COUNT(column_name2) DESC;
### **HAVING**: this clause was added to SQL because the WHERE keyword could not be used with aggregate functions
-* `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING` `COUNT(`column_name1`)` > 5;
+* `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING COUNT`(column_name1) > 5;
+* `SELECT` * `FROM` table_name `WHERE` column_name `IN` (`SELECT` column_name `FROM` table_name `GROUP BY` column_name `HAVING COUNT`(*) > 1);
+
+### **EXISTS**: used in a WHERE clause to check whether a subquery returns any rows
+* The `EXISTS` operator evaluates to true if the subquery returns at least one row, and false otherwise
+* `SELECT` * `FROM` table_name `WHERE EXISTS` (`SELECT` column_name `FROM` table_name `WHERE` condition);
### **WITH**: often used for retrieving hierarchical data or re-using temp result set several times in a query. Also referred to as "Common Table Expression"
* `WITH RECURSIVE` cte `AS` (
@@ -128,17 +133,17 @@ Pull requests are welcome. Enjoy!
# 3. Reporting Queries
### **COUNT**: returns the # of occurrences
-* `SELECT COUNT (DISTINCT` column_name`)`;
+* `SELECT COUNT` (`DISTINCT` column_name);
### **MIN() and MAX()**: returns the smallest/largest value of the selected column
-* `SELECT MIN (`column_names`) FROM` table_name `WHERE` condition;
-* `SELECT MAX (`column_names`) FROM` table_name `WHERE` condition;
+* `SELECT MIN` (column_names) `FROM` table_name `WHERE` condition;
+* `SELECT MAX` (column_names) `FROM` table_name `WHERE` condition;
### **AVG()**: returns the average value of a numeric column
-* `SELECT AVG (`column_name`) FROM` table_name `WHERE` condition;
+* `SELECT AVG` (column_name) `FROM` table_name `WHERE` condition;
### **SUM()**: returns the total sum of a numeric column
-* `SELECT SUM (`column_name`) FROM` table_name `WHERE` condition;
+* `SELECT SUM` (column_name) `FROM` table_name `WHERE` condition;
# 4. Join Queries
@@ -154,7 +159,7 @@ Pull requests are welcome. Enjoy!
* `SELECT` column_names `FROM` table1 `RIGHT JOIN` table2 `ON` table1.column_name=table2.column_name;
### **FULL (OUTER) JOIN**: returns all records when there is a match in either left or right table
-* `SELECT` column_names `FROM` table1 ``FULL OUTER JOIN`` table2 `ON` table1.column_name=table2.column_name;
+* `SELECT` column_names `FROM` table1 `FULL OUTER JOIN` table2 `ON` table1.column_name=table2.column_name;
### **Self JOIN**: a regular join, but the table is joined with itself
* `SELECT` column_names `FROM` table1 T1, table1 T2 `WHERE` condition;
diff --git a/README_zh-hans.md b/README_zh-hans.md
index 5529393..3efd5d6 100644
--- a/README_zh-hans.md
+++ b/README_zh-hans.md
@@ -11,6 +11,7 @@
4. [ 连接查询 ](#joins)
5. [ 视图查询 ](#view)
6. [ 修改表的查询 ](#alter)
+7. [ 创建表的查询。](#create)
# 1. 查找数据的查询
@@ -87,7 +88,12 @@
* `SELECT` column_name1, COUNT(column_name2) `FROM` table_name `WHERE` condition `GROUP BY` column_name1 `ORDER BY` COUNT(column_name2) DESC;
### **HAVING**: HAVING 子句指定 SELECT 语句应仅返回聚合值满足指定条件的行。它被添加到 SQL 语言中,因为WHERE关键字不能与聚合函数一起使用。
-* `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING` `COUNT(`column_name1`)` > 5;
+* `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING COUNT`(column_name1) > 5;
+* `SELECT` * `FROM` table_name `WHERE` column_name `IN` (`SELECT` column_name `FROM` table_name `GROUP BY` column_name `HAVING COUNT`(*) > 1);
+
+### **EXISTS**: 用于 WHERE 子句中,检查子查询是否返回任何行
+* 如果子查询返回至少一行,`EXISTS` 运算符的结果为 true,否则为 false
+* `SELECT` * `FROM` table_name `WHERE EXISTS` (`SELECT` column_name `FROM` table_name `WHERE` condition);
@@ -109,17 +115,17 @@
# 3. 聚合查询
### **COUNT**: 返回出现次数
-* `SELECT COUNT (DISTINCT` column_name`)`;
+* `SELECT COUNT` (`DISTINCT` column_name);
### **MIN() and MAX()**: 返回所选列的最小/最大值
-* `SELECT MIN (`column_names`) FROM` table_name `WHERE` condition;
-* `SELECT MAX (`column_names`) FROM` table_name `WHERE` condition;
+* `SELECT MIN` (column_names) `FROM` table_name `WHERE` condition;
+* `SELECT MAX` (column_names) `FROM` table_name `WHERE` condition;
### **AVG()**: 返回数字列的平均值
-* `SELECT AVG (`column_name`) FROM` table_name `WHERE` condition;
+* `SELECT AVG` (column_name) `FROM` table_name `WHERE` condition;
### **SUM()**: 返回数值列的总和
-* `SELECT SUM (`column_name`) FROM` table_name `WHERE` condition;
+* `SELECT SUM` (column_name) `FROM` table_name `WHERE` condition;
# 4. 连接查询
@@ -135,7 +141,7 @@
* `SELECT` column_names `FROM` table1 `RIGHT JOIN` table2 `ON` table1.column_name=table2.column_name;
### **FULL (OUTER) JOIN**: 全外连接,全连接是左右外连接的并集. 连接表包含被连接的表的所有记录, 如果缺少匹配的记录, 以 NULL 填充。
-* `SELECT` column_names `FROM` table1 ``FULL OUTER JOIN`` table2 `ON` table1.column_name=table2.column_name;
+* `SELECT` column_names `FROM` table1 `FULL OUTER JOIN` table2 `ON` table1.column_name=table2.column_name;
### **Self JOIN**: 自连接,表自身连接
* `SELECT` column_names `FROM` table1 T1, table1 T2 `WHERE` condition;
@@ -164,8 +170,15 @@
### **DROP**: 删除字段
* `ALTER TABLE` table_name `DROP COLUMN` column_name;
+
+# 7. 创建表的查询
-
-
+### **CREATE**: 创建一张表
+* `CREATE TABLE` table_name `(`
+ `column1` `datatype`,
+ `column2` `datatype`,
+ `column3` `datatype`,
+ `column4` `datatype`,
+ `);`