当前位置:文档之家› 数据库查询语句

数据库查询语句

数据库查询语句
数据库查询语句

数据查询

(1)基本数据查询

a)分别查询表employees、regions、countries和locations表中的所有行和列

例:

Select * from employees;

b)创建一个查询,显示每个雇员的lastname,job_id,hire_date,和

employee_id,employee_id显示在第一列,给HIRE_DATE列指定一个别名STARTDATE。

Select employee_id,last_name,job_id,hire_date startdate from employees;c)创建一个查询从EMPLOYEES表中显示唯一的工作代码(job_id)Select distinct job_id from employees;

d)创建一个查询,显示收入超过$12,000的雇员的名字和薪水。

Select first_name,last_name,salary from employees where salary>12000;e)创建一个查询,显示雇员号为176的雇员的名字和部门号Select

first_name,last_name,department_id from employees

where employee_id=176;

f)显示受雇日期在

1998年2月20日和

1998年5月1日之间的雇员的名字、岗位(job_id)和受雇日期(hire_date)。按受雇日期顺序排序查询结果。

Select first_name,last_name,job_id,hire_date

From employees

Where hire_date between?20-2月-98?and…1-5月-98?

Order by hire_date (desc);

g)显示所有在部门为20和50的雇员的名字和部门号,并以名字按字母顺序排序。

Select first_name,last_name,department_id

From employees

Where department_id in(20,30)

Order by first_name;

h)显示每一个在1994年受雇的雇员的名字和受雇日期

Select first_name,last_name,hire_date

From employees

Where hire_date like…%94?;

i)对每一个雇员,显示employee_id、last_name、salary和salary增加15%,并且表示成整数,列标签显示为New Salary。

Select first_name,last_name, salary,round(salary*

1."15,0)“New Salary”From employees;

j)显示所有没有主管经理的雇员的名字和工作岗位。

Select first_name,last_name, job_id

From employees

Where manager_id is null;

k)显示所有名字中第三个字母是a的雇员的名字

Select first_name,last_name

From employees

Where first_name like…__a%?;

l)显示所有名字中有一个a和一个e的雇员的名字。

Select first_name,last_name

From employees

Where first_name like…%a%?and first_name like…%e%?;

m)写一个查询显示当前日期,列标签显示为Date。

Select sysdate“date”from dual;

n)查询表employees的department_id列,department_id为10时显示为“计算机工程系”,为20时显示为“汽车工程系”,其它显示为“其它”,分别用case 和decode实现。

Select department_id,case department_id when 10 then '计算机工程系'When 20 then '汽车工程系'

Else '其它'

End

From employees;

Select department_id,

decode(department_id,10,'计算机工程系',20,'汽车工程系','其它')

From employees;

o)查询表employees的salary列,如果salary小于3000显示为“低工资”,salary小于5000显示为“中”,其余显示为“高工资”Select salary,case when salary<3000 then…低工资?

When salary<5000 then…中?

Else…高工资?end from employees;

(2)连接查询和子查询

a)写一个查询显示所有雇员的last_name、department_id、anddepartment_name

Select https://www.doczj.com/doc/dd280969.html,st_name,d.department_id,d.department_name

From employees e,departments d

Where e.department_id=d.department_id;

Select https://www.doczj.com/doc/dd280969.html,st_name,d.department_name,d.location_id,l.city

From employees e,departments d,locations l

c)写一个查询显示那些工作在Toronto(城市名)的所有雇员的last_name、job_title、department_id和department_name。

Select https://www.doczj.com/doc/dd280969.html,st_name,j.job_title,d.department_id,d.department_name

From employees e,departments d,locations l,jobs j

Where e.department_id=d.department_id and d.location_id=l.location_idAnd e.job_id=j.job_id and l.ci ty=?Toronto?;

d)显示雇员的lastname和employee_id连同他们的经理的lastname和manager_id。列标签分别为Employee、Emp#、Manager和Mgr#。

Select https://www.doczj.com/doc/dd280969.html,st_name Employee,a.employee_id Emp#,

https://www.doczj.com/doc/dd280969.html,st_name Manager,b.employee_id Mgr#

From employees a,employees b

Where a.manager_id=b.employee_id;

e)创建一个查询显示那些在雇员Davies之后入本公司工作的雇员的name和hire_date。

Select first_name,last_name from employees

Where hire_date>(select hire_date from employees where

last_name=?Davies?);f)显示所有雇员的最高、最低、合计和平均薪水,列标签分别为:

Maximum、Minimum、Sum和Average。

Select max(salary) Maximum,min(salary) Minimum,

sum(salary) Sum ,avg(salary) Average

from employees;

g)写一个查询显示每一工作岗位的人数。

Select job_id,count(*) from employees group by job_id;

h)写一个查询显示最高和最低薪水之间的差。列标签是DIFFERENCE。

Select max(salary)-min(salary) DIFFERENCE from employees;

i)显示经理号和经理付给雇员的最低薪水。排除那些经理未知的人。

排除最低薪水小于等于$6,000的组。按薪水降序排序输出。

Select manager_id,min(salary) from employees

Where manager_id is not null

Group by manager_id

Having min(salary)<=6000;

j)创建一个查询显示雇员总数,和在

1995、"

1996、"1997和1998受雇的雇员人数。创建适当的列标题。

Select count(*) total,

Sum(decode(to_char(hire_date,?YY?),?1995?,1,0))“1995”,Sum(decode(to_char( hire_date,?YY?),?1996?,1,0))“1996”,Sum(decode(to_char(hire_date,?YY?),?1997?,1,0) )“1997”,Sum(decode(to_char(hire_date,?YY?),?1998?,1,0))“1998”From employees;

k)写一个查询显示与Zlotkey在同一部门的雇员的lastname和hire date,结果中不包括Zlotkey。

Select last_name,hire_date from employees

Where last_name<>?Zlotkey?

Anddepartment_id=(selectdepartment_idfromemployeeswherelast_name=?Zlot key?);

l)创建一个查询显示所有其薪水高于平均薪水的雇员号和名字。Select employee_id,first_name,last_name from employees

Where salary>(select avg(salary) from employees)

Order by salary;

(3)数据维护

a)运行下面语句来构造MY_EMPLOYEE表。

CREATE TABLE my_employee

(id NUMBER

(4) CONSTRAINT my_employee_id_nn NOT NULL,last_name VARCHAR2

(25),

first_name VARCHAR2

(25),

userid VARCHAR2

(8),

salary NUMBER(9,2));

b)从下面的样本数据中添加第一行数据到MY_EMPLOYEE表中,在INSERT 子句中不要字段列表。

Insert into my_employee values(1,?Patel?,?Ralph?,?rpatel?,895);

c)用前面的列表中样本数据的第二行组装MY_EMPLOYEE表,这次在INSERT 子句中显式地列出字段列表。

Insert into my_employee (id, last_name,first_name, userid, salary)

values(2,?Dancs?,?Betty?,?bdancs?,860);

d)插入表中的其它数据

e)确认你添加到表中的数据。

Select * from my_employee;

f)使得数据添加永久化

Commit;

g)改id为3的雇员的名字为Drexler

Update my_employee set last_name=?Drexler?where id=3;

h)改变所有薪水少于900的雇员的工资为

1000。"

Update my_employee set salary=1000 where salary<900;

i)从MY_EMPLOYEE表中删除Betty Dancs。

Delete from my_employee where id=2;

j)提交所有未决的改变。

Commit;

k)在事务的过程中标记一个中间点。

SAVEPOINT step_18;

清空整个表。

DELETE

FROM my_employee;

确认表是空的。SELECT * FROM my_employee;

丢弃最近的DELETE操作,而不丢弃前面的插入操作。ROLLBACK TO step_18;

确认新行还是完整的。

附录:

表的结构

表COUNTRIES的结构:

字段名称类型中文含义

COUNTRY_IDCHAR

(2)国家编码

COUNTRY_NAMEVARCHAR2

(40)

REGION_IDNUMBER

表REGIONS的结构:

名称类型

REGION_IDNUMBER

REGION_NAMEVARCHAR2 (25)

表LOCATIONS的结构:

名称类型

LOCATION_IDNUMBER

(4)

STREET_ADDRESSVARCHAR2 (40)

POSTAL_CODEVARCHAR2 (12)

CITYVARCHAR2

(30)

STATE_PROVINCEVARCHAR2 (25)

COUNTRY_IDCHAR

(2)

表DEPARTMENTS的结构:

名称类型

DEPARTMENT_IDNUMBER (4)

DEPARTMENT_NAMEVARCHAR2

(30)

MANAGER_IDNUMBER (6)

LOCATION_IDNUMBER (4)

表EMPLOYEES的结构:

名称类型

EMPLOYEE_IDNUMBER (6)

FIRST_NAMEVARCHAR2 (20)

LAST_NAMEVARCHAR2 (25)

EMAILVARCHAR2

(25)

PHONE_NUMBERVARCHAR2 (20)

HIRE_DATE

JOB_IDVARCHAR2

(10) SALARYNUMBER(8,2)

COMMISSION_PCTNUMBER(2,2)国家名称地区编码

中文含义

地区编码

地区名称

中文含义

地点编码

街道地址

邮政编码

所属城市

所属州

国家编码

中文含义

部门编号

部门名称

管理员编号

地点编号

中文含义

雇员编码名姓

Email地址

电话号码

受雇日期

工作岗位

薪水

佣金

MANAGER_IDNUMBER (6)管理员编号DEPARTMENT_IDNUMBER (4)部门编号

简单数据库查询语句

数据查询语言(SELECT语句) 数据操纵语言(INSERT, UPDATE, DELETE语句) 数据定义语言(如CREATE, DROP等语句) 数据控制语言(如COMMIT, ROLLBACK等语句 超详细的SQL语句语法2008-07-11 14:25简单的Transact-SQL查询只包括选择列表、FROM 子句和WHERE子句 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行, 默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行, 而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable 9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

常用SQL语句大全

常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词

数据库SQL查询语句大全修订稿

数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

SAS中的SQL语句大全

SAS中的SQL语句完全教程之一:SQL简介与基本查询功能 本系列全部内容主要以《SQL Processing with the SAS System (Course Notes)》为主进行讲解,本书是在网上下载下来的,但忘了是在哪个网上下的,故不能提供下载链接了,需要的话可以发邮件向我索取,我定期邮给大家,最后声明一下所有资料仅用于学习,不得用于商业目的,否则后果自负。 1 SQL过程步介绍 SQL过程步可以实现下列功能: 查询SAS数据集、从SAS数据集中生成报表、以不同方式实现数据集合并、创建或删除SAS数据集、视图、索引等、更新已存在的数据集、使得SAS系统可以使用SQL语句、可以和SAS的数据步进行替换使用。注意,SQL过程步并不是用来代替SAS数据步,也不是一个客户化的报表工具,而是数据处理用到的查询工具。 SQL过程步的特征 SQL过程步并不需要对每一个查询进行重复、每条语句都是单独处理、不需要print过程步就能打印出查询结果、也不用sort过程步进行排序、不需要run、要quit来结束SQL 过程步 SQL过程步语句 SELECT:查询数据表中的数据 ALTER:增加、删除或修改数据表的列 CREATE:创建一个数据表 DELETE:删除数据表中的列 DESCRIBE:列出数据表的属性 DROP:删除数据表、视图或索引 INSERT:对数据表插入数据 RESET:没用过,不知道什么意思 SELECT:选择列进行打印 UPDATE:对已存在的数据集的列的值进行修改 2 SQL基本查询功能 SELECT语句基本语法介绍 SELECT object-item <, ...object-item> FROM from-list > >; 这里SELECT:指定被选择的列 FROM:指定被查询的表名

SQL查询语句大全集锦

SQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname 字段和email字段。 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺 序相同。

代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n 行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。

SQL数据库查询语句范例

推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。Select nickname,email FROM testtable Where n ame=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列例如,下面语句显示testtable表中所有列的数据:Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如:Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINC T选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtable (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和cityta ble表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: Select username,citytable.cityid FROM usertable,citytable Where usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名表名别名

数据库经典SQL语句大全

数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

SQL语句之简单查询

实验2 SQL语句之简单查询 一、实验目的 1.掌握SELECT语句的基本方法。 2.掌握从表中查询特定行的方法。 3.掌握从表中选择表中若干列和全部列的方法。 4.掌握从表中查询经过计算的值以及为列指定别名的方法。 5.掌握取消重复行和查找满足条件元组的方法。 6.掌握(NOT) BETWEEN AND,LIKE,IN,NULL,通配符的使用方法。 7.掌握ODER BY、GROUP BY的使用方法。 8.掌握聚集函数的使用方法。 二、实验要求 1.应用SELECT语句对数据库中数据进行指定条件的简单查询。 2.撰写实验报告,并附实验结果界面及相应实验语句。 三、实验步骤 1.查询StudentInfo表中所有的学生的详细信息,SQL代码如下所示: SELECT * FROM StudentInfo 2.查询StudentInfo表中所有学生的学号、姓名、系别、专业等信息,SQL代码如下所示: SELECT sno,sname,depart,major FROM StudentInfo 3.查询全体学生的学号、姓名及年龄信息,SQL代码如下所示: SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) FROM StudentInfo 注:YEAR(日期)函数的作用是返回日期的年份,GETDATE()函数的作用是返回系统日期和时间。 4.查询全体学生的学号、姓名及年龄信息,并且为年龄列定义别名为“Age”。SQL 代码如下所示: SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) Age FROM StudentInfo 5.查询有学生选修的教学计划的教学计划号。SQL代码如下所示: SELECT TeachTaskID FROM SC 6.查询有学生选修的教学计划的教学计划号,并去掉重复行。SQL代码如下所示:SELECT DISTINCT TeachTaskID FROM SC 注意观察以上两条语句执行结果的差别。

数据库语言大全

经典SQL语句大全 —、基础 1说明:创建数据库 CREATE DATABASE database-n ame 2、说明:删除数据库 drop database dbn ame 3、说明:备份sql server ---创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwi nd_1.dat' ---开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tab name(col1 type1 [not nu II] [primary key],col2 type2 [not nul l] ,..) 根据已有的表创建新表: A: create table tab_new like tab_old ( 使用旧表创建新表) B: create table tab_new as select col1,col2 …from tab_old definition only 5、说明:删除新表 drop table tab name 6、说明:增加一个列 Alter table tab name add colu mn col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varc har类型的长度。 7、说明:添加主键:Alter table tab name add primary key(col) 说明:删除主键 : Alter table tab name drop primary key(col) 8、说明:创建索弓丨:create [unique] index idxname on tabname(col ….) 删除索弓丨:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view view name as select stateme nt 删除视图:drop view view name 10、说明:几个简单的基本的sql语句 选择:select * from tablei where 范围 插入:in sert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ' %value1% ---like 的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的就是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col…、) 删除索引:drop index idxname 注:索引就是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement

通用SQL数据库查询语句范例

通用SQL数据库查询语句范例(多表查询) 弱电学院---文章分类: 电脑→数据库∧上一篇∨下一篇◎最新发布列表... 双击自动滚屏发布者:弱电之家发布时间:2008-10-6 17:53: 00 来源:互联网 总阅读:1351次本周阅读:31次今日阅读:4 次 推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email 字段。 Select nickname,email FROM testtable Where name=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据:

Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如: Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable

4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TO P n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtabl e (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:

数据库SQL语句大全

SQL语句大全--语句功能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 -数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 --程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标

数据库查询语句关键字总结

看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用。 一、select语句(单个表) 1.最简单的查询: select * from [where ] select column1,column2....from [where] 这里需要注意的是where子句中条件过滤使用到的关键字,比如用到逻辑运算符like 中的’%‘(匹配一个或多个字符)和’_‘(仅匹配一个)等。这个在新闻发布系统中也有用到。 例如:按标题搜索: view sourceprint? 1.Select top 10n.id,n.title,n.createtime,c.[name] 2.from news n inner join category c on c.caid=c.id 3.where n.title like '%'+ @title+ '%' 当然还有很多,例如between,not ,in等关键字的使用也很重要。 2.DISTINCT关键字 这个关键字,主要用来取出列中唯一的值,比如:记录中的一个字段值(city)如果有重复(廊坊,北京,廊坊,北京),那么利用DISTINCT关键字取出唯一值,即任何重复的值只计数一次,结果为为:(廊坊,北京)。 view sourceprint? 1.select DISTINCT city from [table] 3.使用别名 利用别名可以显示我们想要的名字,方便阅读。select city as 城市from ... 4.group by 和having子句 group by 用来对查询到的结果集进行分组,必须位于select语句中的from子句或where子句之后。 having子句类似于where子句,紧跟在group by子后,作为一个查询条件。

数据库sql查询语句练习4_习题_结果图书_习题

现有图书管理数据库的三个关系模式: 图书(总编号, 分类号, 书名, 作者, 出版单位, 单价)读者(借书证号, 单位, 姓名, 性别, 职称, 地址) 借阅(借书证号, 总编号, 借书日期) 具体数据为:

借阅: 根据以上描述,请完成: DDL 1.写出创建上述表的语句 命令:create table图书(总编号varchar(7)primary key,分类号varchar(8),书名varchar(18),作者varchar(8),出版单位varchar(18),单价float) create table读者(借书证号varchar(4)primary key,单位varchar(7),姓名varchar(8),性别varchar(2),职称varchar(8),地址varchar(18)) create table借阅(借书证号varchar(3),总编号varchar(6),借书日期date,primary key(借书证号,总编号,借书日期)) DML 2.给出插入上述数据的insert语句 命令: insert into图书values('445501','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445502','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445503','TP3/12','数据库导论','王强','科学出版社', insert into图书values('332211','TP5/10','计算机基础','李伟','高等教育出版社', insert into图书values('112266','TP3/12','FoxBASE','张三','电子工业出版社', insert into图书values('665544','TS7/21','高等数学','刘明','高等教育出版社', insert into图书values('114455','TR9/12','线性代数','孙业','北京大学出版社', insert into图书values('113388','TR7/90','大学英语','胡玲','清华大学出版社', insert into图书values('446601','TP4/13','数据库基础','马凌云','人民邮电出版社', insert into图书values('446602','TP4/13','数据库基础','马凌云','人民邮电出版社', insert into图书values('446603','TP4/13','数据库基础','马凌云','人民邮电出版社', insert into图书values('449901','TP4/14','FoxPro大全','周虹','科学出版社', insert into图书values('449902','TP4/14','FoxPro大全','周虹','科学出版社', insert into图书values('118801','TP4/15','计算机网络','黄力钧','高等教育出版社', insert into图书values('118802','TP4/15','计算机网络','黄力钧','高等教育出版社', insert into读者values('111','信息系','王维利','女','教授','1号楼') insert into读者values('112','财会系','李立','男','副教授','2号楼')

SQL-创建数据库及简单查询语句

--创建数据库BankDB create database BankDB on primary ( name='BankDB_data', filename='E:\Data\BankDB_data.mdf', size=5, maxsize=20, filegrowth=10% ) log on ( name='BankDB_log', filename='E:\Data\BankDB_log.ldf', size=5, maxsize=20, filegrowth=10% ) --创建T_customer表 use BankDB go create table T_customer ( customerId varchar(20) not null , customerName varchar(40), PID varchar(18), sex char(2), telephone varchar(12) ) --创建银行卡表 create table T_account ( cardId varchar(20) not null , customerId varchar(20), password char(6), savingType varchar(8), openTime datetime, balance float, isReportLos varchar(2) )

--创建客户信息表 create table T_transInfo ( transId int identity(1,1) not null , cardId varchar(20), transTime datetime, transType varchar(4), transMoney float, remark varchar(100) ) --创建主键和外键约束 --主键 alter table dbo.T_customer add constraint pk_customerId primary key (customerId) alter table dbo.T_account add constraint pk_cardId primary key (cardId) alter table dbo.T_transInfo add constraint pk_transId primary key (transId) --外键 alter table T_account add constraint fk_customerId foreign key (customerId)references dbo.T_customer(customerId) alter table T_transInfo add constraint fk_cardId foreign key (cardId)references dbo.T_account(cardId) --开户时间默认值为当前系统时间 alter table T_account add constraint df_openTime default getdate() for openTime --录入数据 insert into T_customer(customerId,customerName,PID,sex,telephone) values('001','张丽','430281************','女','139********') insert into T_customer(customerId,customerName,PID,sex,telephone) values('002','王蒙','430202************','男','139********')

相关主题
文本预览
相关文档 最新文档