sql 语句中 常用语法 以及优化方法

    1. 子查询(子查询是将一个查询语句嵌套在另外一个查询语句中,内层查询语句的查询结果,可以为外层查询语句提供查询条件。

举个栗子①   ~IN  

          SELECT   *   FROM   employee

                       WHERE  d_id   IN

                         (SELECT   d_id    FROM   department);


举个栗子②  ~比较运算符

         SELECT  id ,name, score FROM computer_stu

                    WHERE  score>=

                           (SELECT score FROM scholarship

                              WHERE level=1);


 二  内连接,外连接

   

 1.内连接(查找A,B表中的公共集)

 1.内连接:利用内连接可获取两表的公共部分的记录,即图3的记录集C 语句如下:Select * from A JOIN B ON A.Aid=B.Bnameid 运行结果如下图4所示:其实select * from A,B where A.Aid=B.Bnameid与Select * from A JOIN B ON A.Aid=B.Bnameid的运行结果是一样的。

 2.外连接:外连接分为两种,一种是左连接(Left JOIN)和右连接(Right JOIN)
 (1)左连接(Left JOIN):即图3公共部分记录集C+表A记录集A1。
 语句如下:select * from A Left JOIN B ON A.Aid=B.Bnameid ( 进行左连接查询时,可以查出表A的表中所有记录,而表B所指的表中,只能查询出匹配的记录
运行结果如下图5所示

(2)右连接(Right JOIN):即图3公共部分记录集C+表B记录集B1。

语句如下:select * from A Right JOIN B ON A.Aid=B.Bnameid   运行结果如下图6所示:

(进行右连接查询时,可以查出表B的表中所有记录,而表A所指的表中,只能查询出匹配的记录)




几个简单的基本的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%’ (所有包含‘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[separator]



往 表里循环插入测试数据

declare

maxnumber constant int := 1000;       (循环的次数)

i int := 1;

begin
  for i in 1 .. maxnumber loop
    INSERT INTO SYS_KEMU t
      (ID, KEMU, FENSHU, IDMUNBER)
    VALUES
      (i, '语文', 50 + i, i);

  end loop;
  dbms_output.put_line(' 成功录入数据! ');
  commit;
end;



几个高级查询的运算词:


①  sql 语句中的 case when 用法




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在SQL语句,CASE WHEN语法用于根据条件执行不同的操作。其基本语法如下: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END 其,condition1、condition2等为条件表达式,result1、result2等为对应条件的执行结果,default_result为默认结果。如果所有条件都不满足,则返回默认结果。 例如,以下SQL语句使用CASE WHEN语法将销售额按照不同的区间进行分类: SELECT CASE WHEN sales < 100 THEN 'Low' WHEN sales >= 100 AND sales < 500 THEN 'Medium' WHEN sales >= 500 THEN 'High' ELSE 'Unknown' END AS sales_category, COUNT(*) AS count FROM sales_table GROUP BY sales_category; ### 回答2: SQL语句,CASE WHEN语句是一种非常常见的条件语句,它类似于编程语言的if else语句。它允许我们根据满足或不满足一定条件的结果来返回不同的值,以便进行数据转换或运算。 它的基本语法如下: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE default_result END 在这个语句,我们首先定义了一个CASE关键字,随后按条件顺序列举了一系列的WHEN条件语句,每个WHEN语句后面紧跟一个THEN关键字,在THEN后面定义满足这个条件时返回的结果。在最后,我们使用ELSE关键字来定义默认情况下返回的结果。在整个CASE语句结束前,我们需要用END关键字来结束它。 这里的condition可以是任意类型的条件语句,例如一些比较、逻辑操作符、IN或LIKE操作关键字等等。result可以是任意数据类型的值,包括数字、字符串、日期等。 在实际使用,CASE WHEN语句可以用于更复杂的数据转换或计算,例如对数据进行分类、统计或聚合等操作时,可以通过使用CASE语句来把原始数据转换为指定的类型或值,以便进行下一步操作。 总而言之,CASE WHEN语句SQL语句非常常见、非常有用的一种条件表达式,它可以帮助我们进行数据处理,以满足我们的查询和分析需求。 ### 回答3: 在SQL语句,CASE WHEN语句可以让程序通过对条件进行判断,进行相应的逻辑转换和计算,实现特定的数据操作。具体的语法格式如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END ``` 其,CASE是关键字,不可缺省,用来引导CASE WHEN语句的开始;condition1, condition2等是自定义的条件,表示需要进行比较的条件,可以是任何表达式或者函数;result1,result2等则是条件成立时需要返回的结果或者需要执行的操作,可以是任何表达式、函数或语句;ELSE则用来表示当以上所有的条件都不成立时,则返回的默认结果或执行的默认操作。 除此之外,CASE WHEN语句还可以嵌套使用,让程序更加灵活地应对各种逻辑场景。嵌套格式如下: ```sql CASE WHEN condition1 THEN CASE WHEN subcondition1 THEN subresult1 WHEN subcondition2 THEN subresult2 ... ELSE subdefault_result END WHEN condition2 THEN result2 ... ELSE default_result END ``` 在使用嵌套CASE WHEN语句时,需要注意每个嵌套的语句都要有对应的END语句,一定要嵌套严谨,否则会导致语法错误。 总体而言,CASE WHEN语句SQL语句非常重要的一种条件逻辑判断语句,能够极大地增强SQL的表达力和处理能力,为数据处理和数据分析提供了更多的灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值