代码如下://创建成绩表 create table result( stu_id varchar2(20) not null, china number(9,2) null, math number(9,2) null, english number(9,2) null); //插入数据 insert into result values(0001,60,20,80); insert into result values(0002,80,60,80); insert into result values(0003,20,85,80); select *from result; //条件查询 select stu_id,(case when china>80 then 优秀 ...
插入数据 INSERT 语法结构 INSERT [INTO] <表名> [列名] VALUES <值列表> 参数解释 [INTO]和[列名]是可选的 <表名>是必需的 如果省略[列名],<值列表>与表中字段的顺序保持一致 多个列名和多个值列表用逗号分隔 向student表中插入一行数据 insert into student (姓名,身份证号,所在班级,成绩) values(‘王兰‘, ‘126125199008222446‘, 2,90)更新数据 UPDATE 语法结...
基本查询
orderby子句
形式:
order by 排序字段1 [排序方式], 排序字段2 [排序方式], .....
说明:
对前面取得的数据(含from子句,where子句,group子句,having子句的所有结果)来指定按某个字段的大小进行排列(排序),排序只有2种方式:
正序: ASC(默认值),可以省略
倒序: DESC
如果指定多个字段排序(虽然不常见),则其含义是,在前一个字段排序中相同的那些数据里,再按后一字段的大小进行指定的排序。>>>>>>...
每天都在跟 mysql 打交道,你知道执行一条简单的 select 语句,都经历了哪些过程吗?
首先,mysql 主要是由 server 层和存储层两部分构成的。server 层主要包括连接器、查询缓存,分析器、优化器、执行器。存储层主要是用来存储和查询数据的,常用的存储引擎有 InnoDB、MyISAM,MySQL 5.5.5版本后使用 InnoDB 作为默认存储引擎。
连接器
连接器主要负责将 mysql 客户端和服务端建立连接,连接成功后,会获取当前连接用户的权限...
--14.列出所有雇员的雇员名称、部门名称和薪金。 select e.ename,d.dname,e.sal from emp e,dept d where e.deptno = d.deptno;--16.列出分配有雇员数量的所有部门的详细信息即使是分配有0个雇员。 select d.deptno,d.dname,d.loc,nvl(e.namenum,0) from(select deptno,count(ename) namenum from emp group by deptno) e,dept d where e.deptno(+)=d.deptno;--17.列出各种类别工作的最低工资。 select job,min(sal+nvl(comm...
sql语句,参数,变量=@count output
例:
declare @exec_sqlCount nvarchar(1000)
declare @count int
set @exec_sqlCount= ‘select @count=sum(t.a) from t ‘
declare @scon nvarchar(100)=‘@count int output‘ --定义一个输出参数execute sp_executesql @exec_sqlCount,@scon,@count=@count output --执行
--很多时候查询的时候不能将查到的值带出,所已可用该方法。。 动态的调用输出查询语句中的值 execute sp_ex...
常用select各种查询格式:
普通查询
1. select * from 表名
2. select * from 表名 where 列名+条件
内连接
3. select 列名,列名 from 表名1 inner join 表名1 on 表名2.列名=表名2.列名 ......双表连接
4. select 列名,列名 from 表名1 inner join 表名1 on 表名2.列名=表名2.列名 inner join 表名3 on 表名2.列名=表名3.列名 .....三表连接
...........
外链接
左外链接:
5. select 列名,列名 from 表名1 left outer join 表...
语句语法简单归纳为:
SELECT select_list [INTO new_table_name] [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression]
[HAVING search_condition] [ORDER BY order_expression [ASC | DESC]]
备注:红色字体为自定义参数,根据实际查询填写。
二.WITH子句
WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义;
例:创建一个公用表达式,计算Em...
1.模糊查询
Like 用于在where 子句中进行模糊查询,SQL like 子句中使用%来表示任意0个或者多个字符,下划线 _ 表示任意一个字符。
使用LIKE子句从数据表中读取数据的通用语法:
select field1,field2,...fieldn from table_name where field1 like condition1
e.g. select * from cls where name like %A% ;查找名字里含有A的所有记录
2. as用法
在sql语句中as 用于给字段或者表重命名,特别是一些名字比较长的表或者字段...
昨日回顾:一. 数据库的介绍 管理数据的软件 二. 数据库的 分类: a.关系型数据库 有约束 b.非关系型数据库 没有约束 三. MySQl 的安装: a. exe msi文件 点击下一步下一步 b. 压缩包 bin mysqld : 启动mysql服务的 mysql : 连接mysql 环境变量 四. 数据库(文件夹) 数据表 (文件) 数据行(文件行) 五. 数据库: 增: create database 数据库名; 删: drop database 数据库名; ...
-- 1.取得每个部门最高薪水的人员名称
SELECT
ename AS 姓名
FROM
emp
JOIN ( SELECT deptno, max( sal ) AS max_sal FROM emp GROUP BY deptno ) AS b ON emp.deptno = b.deptno AND emp.sal = b.max_sal;
-- 2.哪些人的薪水在部门的平均薪水之上
select ename as 姓名 from emp
JOIN ( SELECT deptno, avg( sal ) AS avg_sal FROM emp GROUP BY deptno ) AS b ON emp.deptno = b.deptno AND emp.sal > b.avg_sal;
-- 3.取得部门中...
Select 查询语句是实际工作最常用的SQL语句了,下面是Select的语句的执行顺序,大家可以参考Select语句的执行顺序来优化高效SQL语句。个人觉得写出高效查询语句的一个指导方针是:尽可能优先缩小查询范围。
(8)SELECT (9) [DISTINCT](11) [Top n] 传回结果列表[INTO 新数据表名称](1) FROM 数据表(3) [INNER | LFT | RIGHT] JOIN 数据表 (2) ON <数据表JOIN的条件>(4) [WHERE <过滤条件>](5) [GROUP BY <群组语法>](6) [WITH {CU...
一.多表连接(连接的是两个表中的列)
1.select * from Info,Nation where Info.Nation=Nation.Code
select Info.Code,Info.Name,Nation.Name from Info ,Nation where Info.Nation=Nation.Code //where 后面是一个外键关系
select * from Info 出现的现象,形成的表叫做笛卡尔积
2. join 连接
select * from Info join Nation on Info.Nation=Nation.Code (join on 语法 on 后面跟条件) //join 也可能会...
1. SELECT语法结构 T-SQL中查询基本格式是有SELECT子句、FROM子句、WHERE子句组成的查询块:select 列名 from 表名 where 查询限定条件其中* select 指定了想要查看哪些列的数据* from 指定这些数据来自于哪些表* where 指定了想要查看哪些行 SELECT语句的语法如下:select 列名 //SELECT子句:指定查询列表字段,列名格式为“表.字段1,表.字段2”,如果查单个表,可简写为“字段1,字段2”
[into 新表名...