posts - 1,comments - 0,trackbacks - 0

              From變化集錦
          1.從一個表中檢索
          select *
          from dbo.teacher
          2.從一個檢索結果中再檢索即從臨時表中檢索
          select *
          from (
              select teacher_id , teacher_name
              from dbo.teacher
          ) te
          where te.teacher_id <4
          3.從多表中檢索,構成笛卡爾積(效率低)
          select dbo.teacher.* , 系名
          from dbo.teacher , dbo.系
          where dbo.teacher.系_id = dbo.系.系_id
          4.多表的鏈接查詢(尊重左表)
          select *
          from dbo.系 left join dbo.teacher
          on dbo.系.系_id = dbo.teacher.系id
          (尊重右邊)
          select *
          from dbo.系 right join dbo.teacher
          on dbo.系.系_id = dbo.teacher.系_id
          (內連接 都不尊重)
          select *
              from dbo. inner join dbo.教師   
              on dbo.._ID=dbo.教師._ID inner join dbo.教師認課
              on dbo.
          教師.教師_ID=dbo.教師認課.教師_ID
          (全鏈接 都尊重)
          select *
              from dbo.系 all join dbo.teacher
              on dbo.系.系_id = dbo.teacher.系_id
          5.給被檢索表起別名  注意:起了別名就一定要用別名來引用字段
          錯誤的
          select dbo.teacher.teacher_id
          from dbo.teacher js
          正確的
          select js.teacher_id
          from dbo.teacher js
              where 集錦

          1.常規關系運算符 > >= < <= != <> =
          select 教師_ID
          from dbo.教師
          where 教師_ID<>1
          2.常規邏輯運算符 not , and ,or
          select teacher_id
          from dbo.teacher
          where not (teacher_id>=1 and teacher_id<=8)
          3.區間
          teacher_id >=1 并且 teacher_id<=8
          select teacher_id
          from dbo.teacher
          where teacher_id between 1 and 8
          4.檢索null值
          select teacher_id
          from dbo.teacher
          where teacher_date is null
          5.關于字符的模糊查詢
          (1)姓張的所有老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '張%'
          (2)姓張的但是名字只有兩個字的老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '張-'
          (3)名字含有國字的所有老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '%國%'
          (4)老師的第一個名字在a-m之間的老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '[a-m]%'
          (5)老師名字的第一個字母不在a-m之間的老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '[^a-m]%'
          (6)老師的名字第一個字母是a或者b或者m的老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '[a,b,m]%'
          (7)教師名字第一個字母在a到k之間或o到x之間的老師
          select teacher_id
          from dbo.teacher
          where teacher_name like '[a-k,o-x]%'
          6.關于in的用法
          (1)枚舉型
          select *
          from dbo.teacher
          where teacher_id in (1,3,5)

          select*
          from dbo.teacher
          where teacher_id not in(1,3,5)
          (2)嵌套子查詢
          有課上的老師
          select *
          from dbo.teacher
          where teahcer_id in (
              select teacherid
              from dbo.教師任課
          )
          7.exists判斷子查詢是否有結果(強調有無,不關心具體是什么)
          select *
          from dbo.教師
          where exists   --存在
          (
            select *
              from dbo.教師認課
              where dbo.教師認課.教師_ID=dbo.教師.教師_ID
          )
          8.any其中一個
          教師ID大于所有教師ID中任意一個的教師(相當于大于最小ID的教師)
          select *
          from dbo.teahcer
          where teahcer_id > any
          (    select teacher_id
              from dbo.teacher

          )
          9.all全部
          相當于大于最大max
          select *
          from dbo.teacher
          where teacher_id > all(
              select teacher_id
              from dbo.teacher\
          )

           

           

           

           

           

           

           

           

           


          posted on 2010-04-01 23:38 zZ的家伙 閱讀(94) 評論(0)  編輯  收藏 所屬分類: sql語句

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 喀喇| 吉林市| 肇庆市| 玉龙| 丹寨县| 灵石县| 井研县| 屯门区| 泌阳县| 宁蒗| 巴塘县| 夏河县| 五常市| 祥云县| 八宿县| 个旧市| 茂名市| 涞水县| 武威市| 罗平县| 梅州市| 双桥区| 屯昌县| 从江县| 自贡市| 三门县| 永和县| 张家川| 尉氏县| 内丘县| 桑植县| 通江县| 清河县| 海口市| 屏东县| 茂名市| 石棉县| 崇信县| 宁晋县| 滦南县| 石城县|