SQL(Structued Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常用于与数据库通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。

Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品。

DML(Data Manipulation Language,数据操作语言)—-用于检索或者修改数据

DDL(Data Definition Language,数据定义语言)—-用于定义数据的结构,如:创建、修改或者删除数据库对象;

DCL(Data Control Language,数据控制语言)—-用于定义数据库用户的权限

简单查询指的是一张表中的所有的数据,简单查询的语法如下:



SELECT [DISTINCT] *| 字段 [别名] [字段 [别名]]FROM 表名称 [别名]



范例1 查询dept表的全部记录    

SELECT * FROM dept ;
 
  
SQL> SELECT * FROM dept ;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>

范例2查询出第个雇员的编号、姓名、基本工资    


SELECT empno,ename,sal FROM  emp ;
 
  
SQL> SELECT empno,ename,sal FROM emp ;
EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
已选择14行。
SQL>

范例3查询出每个雇员的编号、姓名、职位    

SELECT empno,ename,job FROM emp ;
 
  
SQL> SELECT empno,ename,job FROM emp ;
EMPNO ENAME JOB
---------- ---------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONES MANAGER
7654 MARTIN SALESMAN
7698 BLAKE MANAGER
7782 CLARK MANAGER
7788 SCOTT ANALYST
7839 KING PRESIDENT
7844 TURNER SALESMAN
7876 ADAMS CLERK
7900 JAMES CLERK
7902 FORD ANALYST
7934 MILLER CLERK
已选择14行。
SQL>

范例4查询出每个雇员的职位    

SELECT job FROM emp ;
 
  
SQL> SELECT job FROM emp ;
JOB
---------
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK
CLERK
ANALYST
CLERK
已选择14行。
SQL>

由上可知,查询出的job内容出现了重复的数据,而之所以数据会有重复,主要的原因是现在没有消除掉重复记录,可以使用DISTINCT消除掉所有的重复内容:

范例5查询出每个职位的不重复的记录    


SELECT DISTINCT job FROM emp ;
 
  
SQL> SELECT DISTINCT job FROM emp ;
JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
SQL>

但是,对于重复数据,指的是一行中的每个列的记录重复,才叫重复数据。

范例6查询出每个雇员的姓名、职位    


SELECT ename,job FROM emp ;
 
  
SQL> SELECT ename,job FROM emp ;
ENAME JOB
---------- ---------
SMITH CLERK
ALLEN SALESMAN
WARD SALESMAN
JONES MANAGER
MARTIN SALESMAN
BLAKE MANAGER
CLARK MANAGER
SCOTT ANALYST
KING PRESIDENT
TURNER SALESMAN
ADAMS CLERK
JAMES CLERK
FORD ANALYST
MILLER CLERK
已选择14行。
SQL>

在进行简单查询的操作之中,也可以使用各个数学的四则运算符

范例7要求显示每个雇员的姓名、职位、基本年薪(incom)    


SELECT ename,job,(sal*12) as income FROM emp ;
 
  
SQL> SELECT ename,job,(sal*12) as income FROM emp ;
ENAME JOB INCOME
---------- --------- ----------
SMITH CLERK 9600
ALLEN SALESMAN 19200
WARD SALESMAN 15000
JONES MANAGER 35700
MARTIN SALESMAN 15000
BLAKE MANAGER 34200
CLARK MANAGER 29400
SCOTT ANALYST 36000
KING PRESIDENT 60000
TURNER SALESMAN 18000
ADAMS CLERK 13200
JAMES CLERK 11400
FORD ANALYST 36000
MILLER CLERK 15600
已选择14行。
SQL> SELECT ename,job,(sal*12)income FROM emp ; //as可省略!

重点:但是对于别名,建议不要使用中文,只要是程序的开发,都要回避中文,这不是中国的“易语言”。

范例8公司福利好,每个月都有200元的饭食补贴及100元车费补助,这个时候的年薪    


SELECT ename,job,12*(sal+200+100) income FROM emp ;
 
  
SQL> SELECT ename,job,12*(sal+200+100) income FROM emp ;
ENAME JOB INCOME
---------- --------- ----------
SMITH CLERK 13200
ALLEN SALESMAN 22800
WARD SALESMAN 18600
JONES MANAGER 39300
MARTIN SALESMAN 18600
BLAKE MANAGER 37800
CLARK MANAGER 33000
SCOTT ANALYST 39600
KING PRESIDENT 63600
TURNER SALESMAN 21600
ADAMS CLERK 16800
JAMES CLERK 15000
FORD ANALYST 39600
MILLER CLERK 19200
已选择14行。

SQL>

范例9公司每年的年底都会多发一个月的基本工资    



SELECT ename,job,12*(sal+200+100)+sal income FROM emp ;
 
  
SQL> SELECT ename,job,12*(sal+200+100)+sal income FROM emp ;
ENAME JOB INCOME
---------- --------- ----------
SMITH CLERK 14000
ALLEN SALESMAN 24400
WARD SALESMAN 19850
JONES MANAGER 42275
MARTIN SALESMAN 19850
BLAKE MANAGER 40650
CLARK MANAGER 35450
SCOTT ANALYST 42600
KING PRESIDENT 68600
TURNER SALESMAN 23100
ADAMS CLERK 17900
JAMES CLERK 15950
FORD ANALYST 42600
MILLER CLERK 20500
已选择14行。
SQL>

在简单查询之中也可以使用||”连接查询的字段

范例10观察“||”的使用    

易语言 mysql取记录集 易语言查找数据库内容_易语言 mysql取记录集

易语言 mysql取记录集 易语言查找数据库内容_数据_02

易语言 mysql取记录集 易语言查找数据库内容_数据_03

由于“,”(逗号)属于原样输出的字符串,所以必须使用“”(单引号)括起来,即:在SQL语句之中,“’”(单引号)表示的是字符串

范例11要求现在的数据按照如下的格式显示:

“雇员编号是:7369 雇员姓名是:SMITH 基本工资是:800职位是:CLERK ”

现在相当于查找:empno ename sal job字段,且使用||来连接,  


SELECT '雇员编号是:'||empno||'的雇员姓名是:'||ename||',基本工资是:'||sal||',职位是:'||job FROM emp ;


易语言 mysql取记录集 易语言查找数据库内容_易语言 mysql取记录集_04



SELECT '雇员编号是:'||empno||'的雇员姓名是:'||ename||',基本工资是:'||sal||',职位是:'||job||'|' FROM emp ;



易语言 mysql取记录集 易语言查找数据库内容_数据_05



SELECT '雇员编号是:'||empno||'的雇员姓名是:'||ename||',基本工资是:'||sal||',职位是:'||job||'|'雇员信息 FROM  emp ;


易语言 mysql取记录集 易语言查找数据库内容_数据库_06

重点:

     一定要记住,别名上的内容不要使用“”(单引号)括起来,而只有在SELECT子句之中出现的内容才使用“”(单引号)。

什么叫子句?一般习惯而言,SELECT后面的叫SELECT 子句,FROM后面的叫FROM子句。

范例12

用户(sys)连接到Oracle数据库,去查询用户scott下的一张表emp(雇员表)的方法:  


SELECT '雇员部门编号是:'||empno||'的雇员姓名是:'||ename||',基本工资'||sal||',领导编号'||mgr||',雇员职位是:'||job||',奖金是:'||comm ||'|' as 雇员信息 FROM scott.emp ;



易语言 mysql取记录集 易语言查找数据库内容_易语言 mysql取记录集_07


https://blog.51cto.com/beyondhdf/1282295