SQL查詢--選擇運算(1)


  /**  本貼使用MySQL數據庫  **/

  WHERE子句可以實現關系代數中的選擇運算,用於查詢滿足選擇條件的元組,常用的查詢條件有:

  • 1.比較運算:>,>=,<,<=,=,<>(或!=);
  • 2.范圍查詢:BETWEEN...AND
  • 3.集合查詢:IN;
  • 4.空值查詢:IS NULL;
  • 5.字符串匹配查詢:LIKE;
  • 6.邏輯查詢:AND,OR,NOT。

  下面我們創建一個簡單的“student”學生表用於詳細說明這些查詢。

1 create table student(
2     studentNo VARCHAR(10) NOT NULL ,
3     studentName VARCHAR(20) NOT NULL ,
4     sex char(2) NULL,
5     classNo int NULL,
6     CONSTRAINT studentPK PRIMARY KEY (studentNo)
7

  接下來我們插入幾條簡單數據。

insert into student values 
('001','小工','','1'),
('002','小后','','1'),
('021','小哄','','2'),
('022','小紅','','1'),
('031','小民','','2'),
('045','小明','','1'),
('111','小海','','1'),
('024','小哈','','12')

  1. 比較運算

  1.1 >運算符,運行以下sql語句

select * from student 
where studentNo > 1

  查詢studentNo大於數值1的所有學生,顯示結果如下

 

  如果我使用的sql語句修改為

select * from student 
where studentNo > '1'

  顯示的結果為

  總結:

  studentNo被定義為varchar類型。前者為數值之間的比較,查詢結果為所有studentNo數值大於1的數據;后者為字符串之間的比較,查詢結果為所有studentNo字符串大於‘1’的數據。

  以上是對字符類型的字段進行比較,接下來對整型類型的字段classNo進行比較,運行以下sql語句

select * from student 
where classNo > 2

  查詢結果為

  修改sql語句為:

select * from student 
where classNo > '2'

  所得到的查詢結果為

  總結:以上的兩次查詢結果一樣,說明整型類型的字段之間的比較都是數值之間的比較,即是查詢條件為大於某個字符串,也是進行數值之間的比較。

 

(Continue...)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM