zoukankan      html  css  js  c++  java
  • ORACLE1.14-集合

    -- 与数学有关系的集合()

    -- 单条语句

    select * from t_ke

    where ke_name like '%数学%' or ke_name='马克思主义'

     

     

    select * from t_ke where ke_name like '%数学%'

    union all

    select * from t_ke where ke_name='马克思主义'

     

    -->>

    select * from t_ke where ke_name like '%数学%'

    select * from t_ke where ke_name='离散数学'

     

    select * from t_ke

    where ke_name like '%数学%' or ke_name='离散数学'

     

    select * from t_ke where ke_name like '%数学%'

    union all

    select * from t_ke where ke_name='离散数学'

    union all

    select 88 id,'城市建设' ke_name from dual

     

     

    select * from t_ke where ke_name like '%数学%'

    union

    select * from t_ke where ke_name='离散数学'

    union

    select 88 id,'城市建设' ke_name from dual

    create table t_stu2(

       id number primary key,

       user_name varchar2(10),

       sex varchar2(10)

    );

     

    insert into t_stu2 values(1,'小军','男');

    insert into t_stu2 values(2,'小黄','女');

    insert into t_stu2 values(3,'小陈','男');

    insert into t_stu2 values(4,'小姚','女');

    commit

     

    create table t_yigong(

       id number primary key,

       user_name varchar2(10)

    );

     

    insert into t_yigong values(1,'小陈');

    insert into t_yigong values(2,'小姚');

    insert into t_yigong values(3,'小K');

    insert into t_yigong values(4,'小T');

    commit

    select * from t_stu2

    select * from t_yigong

     

    -- 想看看学生中,有那些是义工

    -- 思维1:条件查询

    select * from t_stu2

      where user_name in (select user_name from t_yigong)

     

    -- 想看看义工中,有那些是学生

    -- 思维1:条件查询

    select * from t_yigong

      where user_name in (select user_name from t_stu2)

     

     

    -- 问题未必看交集的名字,只是我们要用到交集这个概念。

    -- 有可能,我查询的内容根本与学生或这义工的名字毫无联系

    -- 学生这个群体,愿意当义工的,女孩子多还是男孩子多?

    select sex,count(1) from t_stu2 where user_name in(

      select user_name from t_stu2

      intersect

      select user_name from t_yigong

    ) group by sex

     

    insert into t_stu2 values(5,'小冰','女');

    insert into t_yigong values(5,'小冰');

    Commit

    -- 学生这个群体,不愿意当义工的,女孩子多还是男孩子多?

    --错误示范(99%大学生会犯的错误)

    select sex,count(1) from t_stu2 where user_name not in(

      select user_name from t_stu2

      intersect

      select user_name from t_yigong

    ) group by sex

    --  not in就是一种排除法

    -- 学习英语A,B,C,D (要排除3个才能得到正确答案)

    -- 对in操作:打开书本,在目录里面查询

    -- 对not in操作:打开书本,800页也需要一页一页看

    select * from t_stu2

     

    select sex,count(1) from t_stu2 where user_name in(

      select user_name from t_stu2

      minus

      select user_name from t_yigong

    ) group by sex

  • 相关阅读:
    ms sql 生成日历储存过程
    基于开源的GOCW和Directshow.net,实现摄像头预览、采集、录像等操作
    xshell链接远程服务器centos7显示-bash-4.2#
    docker服务日志查看方法
    信息技术应用技巧:没有音箱怎么办?手机当音箱
    信息技术应用技巧:台式机没有网线怎么办?
    C# 查找PDF页面指定区域中的文本并替换和高亮
    Java 将Excel工作簿按工作表拆分为多个文档
    Java 查找并替换PDF中的指定文本
    【SqlServer】导入MaxMind中的IP数据(.csv)文件到SQL Server数据库(转)
  • 原文地址:https://www.cnblogs.com/wyj1212/p/8572064.html
Copyright © 2011-2022 走看看