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 用法




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值