sql - w3c_03_高级

来源:互联网 发布:深圳it培训机构 编辑:程序博客网 时间:2024/06/07 17:30
SQL TOP PERCENT 实例SELECT TOP 50 PERCENT * FROM Persons现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。SELECT TOP 2 * FROM Persons我们希望从上面的 "Persons" 表中选取头两条记录。MySQL 语法  SELECT column_name(s)  FROM table_name  LIMIT numberOracle 语法  SELECT column_name(s)  FROM table_name  WHERE ROWNUM <= numberSQL LIKE 操作符LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SELECT * FROM Persons WHERE City LIKE 'N%'"Persons" 表中选取居住在以 "N" 开始的城市里的人SELECT * FROM Persons WHERE City NOT LIKE '%lon%'"Persons" 表中选取居住在包含 "lon" 的城市里的人SQL 通配符在搜索数据库中的数据时,您可以使用 SQL 通配符。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。% 替代一个或多个字符_ 仅替代一个字符[charlist] 字符列中的任何单一字符        [^charlist]或者[!charlist]不在字符列中的任何单一字符SELECT * FROM Persons WHERE FirstName LIKE '_eorge'"Persons" 表中选取名字的第一个字符之后是 "eorge" 的人SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'"Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"SELECT * FROM Persons WHERE City LIKE '[ALN]%'"Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人SELECT * FROM Persons WHERE City LIKE '[!ALN]%'"Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人SQL IN 操作符    IN 操作符允许我们在 WHERE 子句中规定多个值。    SELECT * FROM Persons    WHERE LastName IN ('Adams','Carter')    表中选取姓氏为 Adams 和 Carter 的人SQL BETWEEN 操作符    BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。        SELECT * FROM Persons    WHERE LastName    BETWEEN 'Adams' AND 'Carter'    以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人    SELECT * FROM Persons    WHERE LastName    NOT BETWEEN 'Adams' AND 'Carter'    上面的例子显示范围之外的人SQL Alias(别名)    通过使用 SQL,可以为列名称和表名称指定别名(Alias)。    SELECT po.OrderID, p.LastName, p.FirstName    FROM Persons AS p, Product_Orders AS po    WHERE p.LastName='Adams' AND p.FirstName='John'    两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和     "po"。现在,我们希望列出 "John Adams" 的所有定单。    SELECT LastName AS Family, FirstName AS Name    FROM PersonsSQL JOIN    SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。    不用join情况:    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo    FROM Persons, Orders    WHERE Persons.Id_P = Orders.Id_P     谁订购了产品,并且他们订购了什么产品?    使用join情况:    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo    FROM Persons    INNER JOIN Orders    ON Persons.Id_P = Orders.Id_P    ORDER BY Persons.LastName    希望列出所有人的定购    不同的join:                    JOIN: 如果表中有至少一个匹配,则返回行            LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行            RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行            FULL JOIN: 只要其中一个表中存在匹配,就返回行


0 0
原创粉丝点击