什么是SQL?
SQL代表结构化查询语言,该结构化查询语言用于存储,操作和检索数据库中的数据。 它是关系数据库管理系统的标准语言。尽管它是ANSI / ISO标准,但是SQL语言有不同的版本。
什么是数据库?
简而言之,数据库是数据的集合,并且该数据将由DBMS控制。
数据库包含一个或多个表。 每个表都有一个名称标识(例如:" id,name"。表包含数据记录。
SQL可以做什么?
· SQL可以创建新的数据库。
· SQL可以在数据库中创建新表。
· SQL可以对数据库执行查询。
· SQL可以更新数据库中的记录。
需要记住的..
SQL关键字不区分大小写,但我们更喜欢以大写形式编写查询。
每个语句后都需要分号吗?
有些数据库系统在每条语句后都需要分号(;),如果我们有多个语句,则SQL是其中的一种。
我们更喜欢在每个语句的末尾使用分号。
我们将为初学者讨论最重要的SQL查询。 开始吧
在本文中,我们将使用一个典型公司的数据库,该公司的员工分布在不同部门。 每个员工都有一个ID,一个名称和一个薪水,并且属于一个部门,如下表所示
EMPLOYEE表的样本:
DEPARTMENT表的样本:
对于初学者来说最重要的SQL查询是
1.从员工表的所有列中检索数据
这是显示表中所有数据的基本查询。 该查询在SELECT" "之后仅包含一个字符(此处表示所有列),我们不要忘记编写FROM子句,后跟要从中检索数据的表的名称。 在此,我们从Employee表中检索每一列。
SELECT *
FROM employee;
2.从某些列检索数据
如果要显示某些列中的数据,则必须在SELECT语句之后列出这些列。 在此示例中,我们从first_name和salive列中检索数据。
SELECT first_name, salary FROM employee;
3.从某些列检索不同的数据
在雇员表的DEPARTMENT列中,我们有重复的值以获取唯一值,我们使用以下查询
SELECT DISTINCT DEPARTMENT
FROM employee;
4.使用WHERE子句过滤数据
如果要显示SALARY大于40,000的数据。 我们必须在WHERE子句之后列出条件,即SALARY> 40,000。 此查询检查SALARY列中值大于40,000的记录。
SELECT *
FROM employee
WHERE SALARY > 40,000;
检索部门为IT的员工
SELECT *
FROM employee
WHERE DEPARTMENT = ‘IT’ ;
5.使用WHERE子句结合逻辑运算符过滤数据
我们在MySQL中使用的逻辑运算符是AND,OR,NOT。
WHERE子句可以与上述运算符结合使用。
如果用AND分隔的所有条件均为True,则AND运算符将显示一条记录。
如果由OR分隔的任何条件为True,则OR运算符将显示一条记录。
如果条件不为真,则NOT运算符将显示记录。
和语法:
AND SYNTAX:
SELECT *
FROM employee
WHERE LAST_NAME = ‘KHANWALD’ AND SALARY > 25,000 ;
如果两个条件都为True,且last_name =" khanwald"且薪水大于25,000,则上面的查询返回记录。
或 语法:
SELECT *
FROM employee
WHERE LAST_NAME = ‘KHANWALD’ OR SALARY > 25,000 ;
如果任何一个条件为True,则上面的查询将返回记录。
非 语法:
SELECT *
FROM employee
WHERE NOT LAST_NAME = ‘KHANWALD’ ;
上面的查询返回last_name不等于" khanwald"的数据。
6,排序数据
要根据列对数据进行排序,请将该列放在ORDER BY之后,默认情况下,这将以升序对数据进行排序。 要按降序对其进行排序,请将DESC关键字放在列名之后。 我们可以根据不止一列进行排序。
SELECT *
FROM employee
ORDER BY LAST_NAME DESC, SALARY;上面的查询返回LAST_NAME从降序开始的记录,以及它们的薪水以升序排列。
7,计算表中的行数
COUNT关键字计算行数并返回值数。 我们必须在关键字之后输入任何列名称。
SELECT COUNT(EMPLOYEE_ID)
FROM employee;
8. IS NULL运算符
该运算符返回所选列中存在的空值记录。
SELECT *
FROM employee
WHERE SALARY IS NULL;
如果要跳过NULL值的记录,我们可以简单地将NOT运算符放在IS NULL之间。
语法:WHERE SALARY NOT NULL;
9. SQL SUM(),AVG(),MIN()和MAX()函数
SUM()函数返回整数列的总和。
AVERAGE()函数返回数字列的平均值。
MIN()函数返回该列的最小值。
MAX()函数返回该列的最大值。
SELECT SUM(SALARY) , AVG(SALARY) , MIN(SALARY), MAX(SALARY)
FROM employee;
第10章SQL JOIN的不同类型
SQL中的不同类型的JOIN是
JOIN:它返回两个表中具有匹配值的记录。 我们也可以称其为INNER JOIN。
LEFT JOIN:它返回左表中的所有记录以及右表中的匹配值。
RIGHT JOIN:它返回右表中的所有记录,并返回左表中的匹配值。
FULL JOIN:如果左表或右表匹配,则返回所有记录。
内部联接或联接的语法:
SELECT employee.FIRST_NAME , department.BUDGET
FROM employee
JOIN department on employee.DEPARTMENT = department.DEPARTMENT ;
上面的查询返回employee表中的FIRST_NAME列和部门表中匹配的BUDGET列。
11.从表中删除数据
DELETE FROM查询从表中删除所有数据。 我们还可以使用WHERE子句从某些列中删除。
DELETE FROM employee;
上面的查询从表中删除所有数据。
DELETE FROM employee
WHERE EMPLOYEE_ID = 1024;
上面的查询删除了employee_id等于1024的数据。
12.创建一个表
我们可以使用CREATE TABLE创建一个表。 之后,我们必须列出表的名称,并在方括号中声明列名和数据类型。
例如,我们创建一个具有两列id和name的表。
CREATE TABLE emp(Id integer, Name text);
13.将值插入表
我们可以使用INSERT INTO和表名将新记录添加到表中。 之后,使用VALUES,然后在方括号中键入列的值。
INSERT INTO emp VALUES(1102, ‘Tom’);
14.更新表
UPDATE用于修改或更改列中的数据。 UPDATE之后,列出表的名称,然后列出SET,以及列的名称并等于新值。
UPDATE emp Name = “ GJ ”;
15.删除表
我们可以使用DROP TABLE和表名轻松删除表。
DROP TABLE emp;
摘要
以上查询是初学者和专业人士最常用的查询。 如果您想了解有关SQL的更多信息,请关注我的下一个博客。
(本文翻译自Golla Jayanth的文章《A Beginner's Guide to the SQL》,参考:https://medium.com/swlh/a-beginners-guide-to-the-sql-by-golla-jayanth-74ee1a3e97c6)
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/80024.html